我正在取一些记录:
$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);
});
}
});
它给我的例外:
未捕获的TypeError:b.toLowerCase不是函数
结果下拉也没有显示,我在这里缺少什么?
答案 0 :(得分:0)
是的,您需要对您的公司进行json_encode。
$companies = \App\User::where('type', 'pet-salon')->orWhere('type',
'veterinarian')->get();
$result = json_encode($companies ); // return this or echo
答案 1 :(得分:0)
首先,PHP代码看起来像是一个laravel代码,所以你可以像这样返回$companies
变量:
$companies = \App\User::where('type', 'pet-salon')->orWhere('type', 'veterinarian')->get();
return $companies;
由于模型和集合在转换为字符串时会转换为JSON,因此您可以直接从应用程序的路径或控制器返回Eloquent对象。
而且,让我们看看process
函数的定义,以确保不是错误的来源。