ProvinceService.php 1.1 KB

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