ProvinceService.php 1020 B

1234567891011121314151617181920212223242526272829303132
  1. <?php
  2. namespace App\Services;
  3. use App\Province;
  4. use Illuminate\Support\Str;
  5. Class ProvinceService
  6. {
  7. public static $provinces = ['青海','新疆','内蒙古','广西','西藏','宁夏','北京','上海','重庆','天津'];
  8. public function findByName($name)
  9. {
  10. $province = Province::query()->where('name',$name)->first();
  11. if(isset($province))return $province;
  12. foreach (ProvinceService::$provinces as $province) {
  13. if(strstr($province,$name) != null){
  14. return Province::query()->where('name',$province)->first();
  15. }
  16. }
  17. if(str_ends_with($name,'市')){
  18. $province_name = Str::before($name,'市');
  19. return Province::query()->where('name','like',$province_name.'%')->first();
  20. }
  21. if(str_ends_with($name,'省')){
  22. $province_name = Str::before($name,'省');
  23. return Province::query()->where('name','like',$province_name.'%')->first();
  24. }
  25. return null;
  26. }
  27. }