Я хочу иметь автозаполнение поиска с помощью jQuery и Laravel.Но я получаю сообщение об ошибке, когда пользователь пишет по крайней мере 2 буквы в поисковой строке:
GET http://proj.test/autocomplete-search?term=ca 500 (Internal Server Error)
Знаете ли вы, в чем проблема?Я хочу показать конференции на основе букв, введенных пользователем в форму поиска.
Ввод для поиска:
<div class="col col-md-6">
<h4 class="text-white text-center font-weight-bold">Search</h4>
<form class="main-search">
<input type="text" id="search" class="autocomplete dropdown-toggle" placeholder="Conference, Citiy, Category">
</form>
</div>
Маршруты Laravel:
Route::get('/autocomplete-search', 'AutocompleteController@search');
Laravel AutomcompleteController:
class AutocompleteController extends Controller
{
public function search(Request $request){
$search = $request->term;
$conferences = Conference::where('name', 'LIKE', '%'.$search.'%')->get();
$data= [];
foreach ($conferences as $key => $value){
$data[] = ['id'=>$value->id, 'value' => $value->id + " " + $value->name];
}
//dd($data);
return response($data);
}
}
jquery:
$("#search").autocomplete({
source: "{{ URL::to('autocomplete-search') }}",
minLength: 2,
select:function(key, value)
{
console.log(value);
}
});
РЕДАКТИРОВАТЬ: На вкладке Сеть ошибка отображается как:
{сообщение: «Невстречено числовое значение ", исключение:" ErrorException ",…}
и указывает на эту строку:
{function:" search ", class:" App \ Http\ Controllers \ AutocompleteController ", введите:" -> "}". В "$ data [] = ['id' => $ value-> id, 'value' => $ value-> id +" "+ $ value-> имя];