yajra / laravel-datatables поиск не работает с laravel 5.7 - PullRequest
0 голосов
/ 03 октября 2018

Вот код соединения и присвойте 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();

});

Вот код 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'},
       ]
    });
});

Теперь, когда я пытаюсь что-то искать, он дает мне предупреждение с ошибкой. Вотсообщение об ошибке

Сообщение об исключении: ↵↵SQLSTATE [42000]: синтаксическая ошибка или нарушение прав доступа: 1583 Неправильные параметры в вызове собственной функции 'LOWER' (SQL: выбрать количество (*) в качестве агрегата)из (выберите '1' как row_count из producto как e внутреннее соединение marca как d на e. cod_marca = d. cod_marca внутреннее соединение tipo-producto как j на e. cod_tipo_producto = j. cod_tipo_producto где (НИЖНЯЯ (producto как e.cod_producto) НРАВИТСЯ% 1% или НИЖЕ (producto как e.nom_producto) КАК% 1% илиLOWER (producto как e.precio_venta) LIKE% 1% или LOWER (marca. nombre) LIKE% 1% или LOWER (tipo-producto. nombre) LIKE% 1% или LOWER (productoas e.estado) LIKE% 1%)) count_row_table)

1 Ответ

0 голосов
/ 03 октября 2018

Задайте базу имен столбцов Datatable в поле данных соединения из вашего запроса

Вот пример

 "columns":[
     {data: 'cod_producto', name:'e.code_product'},
     {data: 'nom_producto', name:'e.nom_producto'},
    ....
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...