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

时间:2018-10-03 02:18:12

标签: php jquery mysql 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();

});

这是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:   从中选择count(*)作为汇总(从中选择{1为row_count作为'1'   producto作为e的内部联接marca作为d上的ecod_marca =   dcod_marca内部联接tipo-producto作为j在   ecod_tipo_producto = jcod_tipo_producto其中   (像producto的LOWER(e.cod_producto)喜欢%1%或像LOWER(producto一样   e.nom_producto)喜欢%1%或LOWER(productoe.precio_venta)   像%1%或LOWER({marcanombre)像%1%或   LOWER({tipo-productonombre)像%1%或LOWER(producto   e.estado)喜欢%1%))count_row_table)

1 个答案:

答案 0 :(得分:0)

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

这是样本

### Python:
import pandas as pd
for i,chunk in enumerate(pd.read_csv('C:/your_path/main.csv', chunksize=3)):
    chunk.to_csv('chunk{}.csv'.format(i))

### R
setwd("C:/your_path/") 
mydata = read.csv("annualsinglefile.csv") 

# If you want 5 different chunks with same number of lines, lets say 30.
# Chunks = split(mydata,sample(rep(1:5,30)))  ## 5 Chunks of 30 lines each

# If you want 100000 samples, put any range of 20 values within the range of number of rows
First_chunk <- sample(mydata[1:100000,])  ## this would contain first 100000 rows

# Or you can print any number of rows within the range
# Second_chunk <- sample(mydata[100:70,] ## this would contain last 30 rows in reverse order if your data had 100 rows.

# If you want to write these chunks out in a csv file:
write.csv(First_chunk,file="First_chunk.csv",quote=F,row.names=F,col.names=T)
# write.csv(Second_chunk,file="Second_chunk.csv",quote=F,row.names=F,col.names=T)