普通网友 2018-10-03 02:18
浏览 96
已采纳

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

Here is join code and assign 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();

});

Here is jQuery code

$(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'},
       ]
    });
});

Now when i try to search something it is giving me alert with error Here is an error message

Exception Message:↵↵SQLSTATE[42000]: Syntax error or access violation: 1583 Incorrect parameters in the call to native function 'LOWER' (SQL: select count(*) as aggregate from (select '1' as row_count from producto as e inner join marca as d on e.cod_marca = d.cod_marca inner join tipo-producto as j on e.cod_tipo_producto = j.cod_tipo_producto where (LOWER(producto as e.cod_producto) LIKE %1% or LOWER(producto as e.nom_producto) LIKE %1% or LOWER(producto as e.precio_venta) LIKE %1% or LOWER(marca.nombre) LIKE %1% or LOWER(tipo-producto.nombre) LIKE %1% or LOWER(producto as e.estado) LIKE %1%)) count_row_table)

  • 写回答

1条回答 默认 最新

  • douwuli4512 2018-10-03 02:36
    关注

    Set your Datatable columns name base on your join data field from your query

    Here is the sample

     "columns":[
         {data: 'cod_producto', name:'e.code_product'},
         {data: 'nom_producto', name:'e.nom_producto'},
        ....
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 idea右下角设置编码是灰色的
  • ¥15 全志H618ROM新增分区
  • ¥20 jupyter保存图像功能的实现
  • ¥15 在grasshopper里DrawViewportWires更改预览后,禁用电池仍然显示
  • ¥15 NAO机器人的录音程序保存问题
  • ¥15 C#读写EXCEL文件,不同编译
  • ¥15 MapReduce结果输出到HBase,一直连接不上MySQL
  • ¥15 扩散模型sd.webui使用时报错“Nonetype”
  • ¥15 stm32流水灯+呼吸灯+外部中断按键
  • ¥15 将二维数组,按照假设的规定,如0/1/0 == "4",把对应列位置写成一个字符并打印输出该字符