搜索时未找到 Laravel 数据表列

Posted

技术标签:

【中文标题】搜索时未找到 Laravel 数据表列【英文标题】:Laravel Datatables Column not found at search 【发布时间】:2021-09-03 23:00:39 【问题描述】:

我正在使用数据表 (yajra) 和 laravel。

我正在处理数据表,但是当我尝试搜索时出现错误。 “sqlstate 42s22 列未找到 1054 未知列‘客户’。在where子句中'"

我的控制器:

$query = DB::table('customer')->orderBy('id'); 
        return DataTables::queryBuilder($query)->toJson();

我的看法:

if (dtUserTable.length) 
    dtUserTable.DataTable(
        pageLength: 10,
stateSave: true,
processing: true,
serverSide: true,
      ajax:url:"customer-list",
      columns: [
        // columns according to JSON
         data: 'id' ,
         data: 'fullname' ,
         data: 'num_doc',
         data: 'mobile' ,
         data: 'email' ,
         data: 'class' ,
         data: '' 
      ],
      columnDefs: [
        
          // For Responsive
          className: 'control',
          orderable: false,
          responsivePriority: 2,
          targets: 0
        ,

额外:如果我使用这个:

$customers = DB::table('customer')->get();
return json_decode($customers,true);

它可以工作,但不能在服务器端工作!

任何可以帮助我使其与服务器端和搜索一起使用?我尝试了一些配置,只能在服务器端工作或搜索

【问题讨论】:

【参考方案1】:

我认为问题在于在column array 中为data 提及null

  data: '' 

这样您就可以删除该行,也可以设置defaultContent

  data: 'column_name',  "defaultContent": "" 

您也可以禁用搜索

  data: 'column_name', "searchable": false , "defaultContent": ""  

参考:https://datatables.net/forums/discussion/50823/handling-null-values

【讨论】:

HOOLYYYYY 是真的,我完全忘记了那行,其实我在帖子中的示例中正要删除它,谢天谢地我没有删除它......我爱你 @KatiaSisHost - What should I do when someone answers my question?。投票和接受答案都是完全可选的 - 但强烈推荐。

以上是关于搜索时未找到 Laravel 数据表列的主要内容,如果未能解决你的问题,请参考以下文章

我可以使用标题列搜索数据表 laravel 而不是页脚列搜索吗

迁移时未找到 Laravel 致命错误类

如何在laravel的json数组列中找到字符串搜索的位置

如何使用 infyom laravel-generator 数据表添加“列搜索”

在laravel中的数据库列数组中进行数组搜索[关闭]

LARAVEL-提交表单时未更新数据库