如果表列名称不是'name',使用Jquery的Laravel自动完成功能不会获取数据

问题描述 投票:1回答:1

我正在使用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); 
    }

表数据

Data in my table

输出output

但是如果我将表的列名从TITLE更改为NAME返回数据

如果没有名为“ name”的列,如何从任何列中获取数据?

laravel autocomplete jquery-ui-autocomplete
1个回答
0
投票

successajax回调中,您正在检查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.
            }); 
© www.soinside.com 2019 - 2024. All rights reserved.