У меня есть форма с функцией автозаполнения при вводе.Функция медленная.Средняя скорость набора текста выше, чем в списке автозаполнения.Вы можете закончить печатать до того, как появится предложение.Он использует jQuery и выполняет ajax-вызов URL-адреса, который вызывает функцию в контроллере, который затем запускает весь список, содержащий набранную строку:
Вкладка «Сеть» в инструментах разработчика Chrome показала только, как долгоВызванный URL занял около 700 мс.
public function searchResponse(Request $request){
$query1 = $request->get('term','');
$c1=\DB::table('T_EMPLOYEE_SERVICE_AREAS');
if($request->type=='EmpService')
{
$c1->where('EmployeeService','LIKE','%'.$query1.'%')
->groupBy('EmployeeService')
->get();
}
$c1=$c1->get();
$data=array();
foreach ($c1 as $service) {
$data[]=array('EmployeeService'=>$service->EmployeeService);
}
if(count($data))
return $data;
else
return ['EmployeeService'=>''];
}
Помимо оптимизации вышеуказанного запроса - как мне проверить, где больше всего времени уходит.Я добавил ссылку на тот же скрипт автозаполнения, который я получил с другого форума http://www.expertphp.in/article/laravel-5-autocomplete-mutiple-fields-using-jquery-ajax-and-mysql