yajra/laravel-datatables 搜索不适用于 laravel 5.7

Vic*_*ñez 0 php mysql jquery datatables laravel-5.7

这是加入代码并分配 Datatables

Route::get('Productos',function(){
  $query = DB::table('producto as e')
         ->select('e.cod_producto', 'e.nom_producto', 'e.precio_venta', 'd.nombre as nombre_marca', 'j.nombre as nombre_tipo', DB::raw('if(e.estado = 0,\'Activo\',\'Eliminado\') as estado'))
         ->join('marca as d','e.cod_marca', '=', 'd.cod_marca')
         ->join('tipo-producto as j', 'e.cod_tipo_producto', '=', 'j.cod_tipo_producto');

    return datatables()
              ->of($query)
              ->addColumn('btn','actions')
              ->rawColumns(['btn'])
              ->toJson();

});
Run Code Online (Sandbox Code Playgroud)

这是jQuery代码

$(document).ready(function(){
    $('#Productos').DataTable({
      "bAutoWidth": false,
       "destroy": true,
       "responsive": true,
       "serverSide":true,
       "ajax":'{{url('api/Productos')}}',
       "columnDefs": [ {
         "targets": 'no-sort',
         "orderable": false,
         "searchable": false,
       }],
       "columns":[
         {data: 'cod_producto'},
         {data: 'nom_producto'},
         {data: 'precio_venta'},
         {data: 'nombre_marca'},
         {data: 'nombre_tipo'},
         {data: 'estado'},
         {data: 'btn'},
       ]
    });
});
Run Code Online (Sandbox Code Playgroud)

现在,当我尝试搜索某些内容时,它向我发出错误警报 这是一条错误消息

异常消息:?? SQLSTATE [42000]:语法错误或访问冲突:在调用本地函数“下部”(SQL 1583个不正确的参数:SELECT COUNT(*)作为从(选择“1”作为骨料row_countproducto作为e内部联接marca作为don e. cod_marca= d.cod_marca内连接tipo-productoas jon e. cod_tipo_producto= j. cod_tipo_productowhere (LOWER( productoas e.cod_producto) LIKE %1% or LOWER( productoas e.nom_producto) LIKE %1% or LOWER( productoas e.precio_venta) LIKE %1% or LOWER( marca. nombre) LIKE %1% or LOWER ( tipo-producto. nombre) LIKE %1% 或 LOWER( productoas e.estado) LIKE %1%)) count_row_table)

Pol*_*ldo 5

根据查询中的连接数据字段设置数据表列名称

这是示例

 "columns":[
     {data: 'cod_producto', name:'e.code_product'},
     {data: 'nom_producto', name:'e.nom_producto'},
    ....
Run Code Online (Sandbox Code Playgroud)