| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152 |
- <?php
- namespace App\Services;
- use App\City;
- use Illuminate\Support\Str;
- use App\Traits\ServiceAppAop;
- class CityService
- {
- use ServiceAppAop;
- protected $modelClass=City::class;
- public static $cities = ['汕头','汕尾'];
- /*
- * array | string $column
- * 默认一些select字段,可传递string 或 array来指定select字段
- */
- public function getSelection($column = ['id','name']){
- if (!is_array($column)) {
- $column = [$column];
- }
- return City::query()->select($column)->get();
- }
- public function find($id){
- return City::query()->find($id);
- }
- public function findByName($name)
- {
- $city = City::query()->where('name',$name)->first();
- if(isset($city))return $city;
- foreach (CityService::$cities as $city) {
- if(strstr($city,$name) != null){
- return City::query()->where('name','like',$city.'%')->first();
- }
- }
- if(str_ends_with($name,'自治州')){
- $city_name = Str::before($name,'自治州');
- return City::query()->where('name','like',$city_name.'%')->first();
- }
- if(str_ends_with($name,'市')){
- $city_name = Str::before($name,'市');
- return City::query()->where('name','like',$city_name.'%')->first();
- }
- return null;
- }
- }
|