我正在使用Jquery和Laravel 5.7进行自动完成功能。
我有一个名为“ pricings”的表,该表中没有名为“ name”的列。当我搜索关键字时,它不返回任何内容。
<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);
}
表数据
输出output
但是如果我将表的列名从TITLE更改为NAME返回数据
如果没有名为“ name”的列,如何从任何列中获取数据?
在success
的ajax
回调中,您正在检查name
,而应在数据库表中查找title
。
success: function(data){
var resp = $.map(data,function(obj){
//console.log(obj.city_name);
return obj.title; //This should be title instead of name.
});