public function autocompleteBySettlementName() { $settlement = htmlentities(Input::get('settlement'), ENT_QUOTES, 'UTF-8', false); $name = htmlentities(Input::get('query'), ENT_QUOTES, 'UTF-8', false); $settlement = Settlement::where('name', 'LIKE', "{$settlement}%")->orWhere('name_en', 'LIKE', "{$settlement}%")->first(); if (!$settlement) { return ['results' => [], 'more' => false]; } $result = Office::where('city_id', $settlement->id)->whereNested(function ($query) use($name) { $query->where('name', 'LIKE', "%{$name}%")->orWhere('name_en', 'LIKE', "%{$name}%"); })->get(['id', 'bg' === App::getLocale() ? 'name' : 'name_en AS name']); return ['results' => $result, 'more' => false]; }
public function autocomplete() { $name = htmlentities(Input::get('query'), ENT_QUOTES, 'UTF-8', false); if (self::MIN_AUTOCOMPLETE_LENGTH > mb_strlen($name)) { return ['results' => [], 'more' => false]; } $settlements = Settlement::where('name', 'LIKE', "%{$name}%")->orWhere('name_en', 'LIKE', "%{$name}%")->get(['id', 'type', 'name', 'name_en', 'post_code']); $result = []; foreach ($settlements as $settlement) { $entry = ['id' => $settlement->id, 'name' => $settlement->formatted]; $entry['ref'] = $settlement->reference; $entry['post_code'] = $settlement->post_code; $result[] = (object) $entry; } return ['results' => $result, 'more' => false]; }