Я получаю некоторые записи:
$companies = \App\User::where('type', 'pet-salon')->orWhere('type', 'veterinarian')->get();
return response()->json($companies);
Возвращаемые данные — это массив объектов:
[{
id: 2,
type: "xxx",
deactivate: 0,
xxx: "Hello",
middle_name: "Mid",
lastname: "xxx",
//...
}]
Это код заголовка JQuery:
$('#getCompaniesForConnection').typeahead({
source: function (query, process) {
return $.get('/all/companies', { query: query }, function (data) {
return process(data);
});
}
});
Исключение это дает мне:
Uncaught TypeError: b.toLowerCase не является функцией
И выпадающий список результатов тоже не показывает, чего мне здесь не хватает?
Да, вам нужно json_encode вашей компании.
$companies = \App\User::where('type', 'pet-salon')->orWhere('type',
'veterinarian')->get();
$result = json_encode($companies ); // return this or echo
Во-первых, код PHP выглядит как код laravel, так что вы можете просто вернуть $companies
переменная вот так:
$companies = \App\User::where('type', 'pet-salon')->orWhere('type', 'veterinarian')->get();
return $companies;
Поскольку модели и коллекции преобразуются в JSON при приведении к строке, вы можете возвращать объекты Eloquent непосредственно из маршрутов или контроллеров вашего приложения.
А также, давайте посмотрим на определение process
функция, чтобы быть уверенным, что это не то, откуда исходит ошибка.