request->input('limit', 20); $list = $this->siteModel ->when($name = $this->request->input('search_value'), function ($query) use ($name) { $query->where('name', 'like', "%$name%"); }) // ->where('name', 'like', '%'.$this->request->input('search_value').'%') ->paginate($limit) ->toArray(); if (empty($list['data'])) return $this->return->success('success', ['list' => $list]); foreach ($list['data'] as &$item) { $item['gap'] = 0; if (empty($this->request->input('lng')) || empty($this->request->input('lat'))) continue; $item['gap'] = SystemUtil::calculateDistance( ['lng' => $this->request->input('lng'),'lat' => $this->request->input('lat')], ['lng' => $item['lng'], 'lat' => $item['lat']] ); } return $this->return->success('success', ['list' => $list]); } }