yajra/laraveldatatables搜索不适用于laravel5.7

cunj1qz1  于 2021-06-20  发布在  Mysql
关注(0)|答案(1)|浏览(356)

这里是连接代码和分配 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]:语法错误或访问冲突:对本机函数'lower'的调用中有1583个不正确的参数(sql:select count(*)as aggregate from(select'1'as aggregate from) `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%或更低( `producto` 作为 `e.precio_venta` )如%1%或更低( `marca` . `nombre` )如%1%或更低( `tipo-producto` . `nombre` )如%1%或更低( `producto` 作为 `e.estado` )如%1%))计数(行(表)
a1o7rhls

a1o7rhls1#

根据查询中的联接数据字段设置datatable列名称
这是样品

"columns":[
     {data: 'cod_producto', name:'e.code_product'},
     {data: 'nom_producto', name:'e.nom_producto'},
    ....

相关问题