Laravel 如果 table 列名称不是 'name',则使用 Jquery 的自动完成不会获取数据
Laravel Autocomplete using Jquery is not fetching data if the table column name isn't 'name'
我正在使用 Jquery 和 Laravel 5.7 来制作自动完成功能。
我有一个名为 'pricings' 的 table,但 table 中没有名为 'name' 的列。当我搜索关键字时 returns 什么都没有。
<script>
$(document).ready(function() {
$( "#search" ).autocomplete({
source: function(request, response) {
$.ajax({
url: "{{url('autocomplete')}}",
data: {
term : request.term
},
dataType: "json",
success: function(data){
var resp = $.map(data,function(obj){
//console.log(obj.city_name);
return obj.name;
});
response(resp);
}
});
},
minLength: 1
});
});
</script>
这是我的控制器:
public function search(Request $request)
{
$search = $request->get('term');
$result = DB::table('pricings')->where('title', 'LIKE', '%'.$search.'%')->get();
return response()->json($result);
}
Table数据
Data in my table
输出
output
但是如果我将 table 列名称从 TITLE 更改为 NAME
它returns数据
如果没有名为 'name' 的列,我如何从任何列中获取数据?
在您的 ajax
的 success
回调中,您正在检查 name
,您应该寻找 title
,它是数据库 Table。
success: function(data){
var resp = $.map(data,function(obj){
//console.log(obj.city_name);
return obj.title; //This should be title instead of name.
});
我正在使用 Jquery 和 Laravel 5.7 来制作自动完成功能。
我有一个名为 'pricings' 的 table,但 table 中没有名为 'name' 的列。当我搜索关键字时 returns 什么都没有。
<script>
$(document).ready(function() {
$( "#search" ).autocomplete({
source: function(request, response) {
$.ajax({
url: "{{url('autocomplete')}}",
data: {
term : request.term
},
dataType: "json",
success: function(data){
var resp = $.map(data,function(obj){
//console.log(obj.city_name);
return obj.name;
});
response(resp);
}
});
},
minLength: 1
});
});
</script>
这是我的控制器:
public function search(Request $request)
{
$search = $request->get('term');
$result = DB::table('pricings')->where('title', 'LIKE', '%'.$search.'%')->get();
return response()->json($result);
}
Table数据
Data in my table
输出 output
但是如果我将 table 列名称从 TITLE 更改为 NAME 它returns数据
如果没有名为 'name' 的列,我如何从任何列中获取数据?
在您的 ajax
的 success
回调中,您正在检查 name
,您应该寻找 title
,它是数据库 Table。
success: function(data){
var resp = $.map(data,function(obj){
//console.log(obj.city_name);
return obj.title; //This should be title instead of name.
});