【问题标题】:Yajra Laravel Datatable - Merge Column valuesYajra Laravel 数据表 - 合并列值
【发布时间】:2016-09-13 08:07:26
【问题描述】:

我已将 Yajra 数据表包含在我的 Laravel 项目中,并且工作正常。

问题是我需要合并 3 个列值并将它们显示为 1 并允许同时搜索。

我该怎么做?

我能够使用渲染功能并在单列中显示数据。那么怎么搜索呢?

Mysql 表示例:

student_master(fname,mname,lname)

在我拥有的 javascript 上:

columns: [
    {data: 'thiscanbeanything', render:function ( data, type, row ) {                        
                return row.fname+row.mname+row.lname;
            }},
]

我在控制器上的 Ajax 函数如下所示

 $results = DB::table("student_master")
            ->select(['fname', 'mname', 'lname']);

    return Datatables::of($results)                        
                    ->make(true);

【问题讨论】:

    标签: laravel datatables


    【解决方案1】:

    服务器端

        $results = DB::table("student_master")
        ->select([
            DB::raw('CONCAT(fname, " ", mname, " ", lname) as name'),
        ]);
    
        return Datatables::of($results)
        ->filterColumn('name', function($query, $keyword) {
            $query->whereRaw('CONCAT(fname, " ", mname, " ", lname) like ?', ["%{$keyword}%"]);
        })
        ->make(true);
    

    JS

     columns: [
                { data: 'name'},
            ]
    

    现在您可以搜索和排序

    【讨论】:

      【解决方案2】:

      你可以试试下面的代码

      在服务器端

      $results = DB::table("student_master")
              ->select(['fname', 'mname', 'lname']);
      
      return Datatables::of($results)
            ->addColumn('mergeColumn', function($row){
            return $row->fname.$row->mname.$row->lname;
      })
      ->make(true);
      

      Javascript 端

      ` columns: [
              {data: 'mergeColumn', name: 'mergeColumn', searchable: false, sortable : false, visible:true},
              {data: 'fname', name: 'fname', searchable: true, sortable : true, visible:false},
              {data: 'mname', name: 'mname', searchable: true, sortable : true, visible:false},
              {data: 'lname', name: 'lname', searchable: true, sortable : true, visible:false},
          ],`
      

      以上代码未经测试,但您可以尝试。如果您有任何问题,请告诉我。

      【讨论】:

      • 有什么方法可以让排序在这种情况下工作吗??
      猜你喜欢
      • 1970-01-01
      • 2019-02-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-03-26
      • 2020-11-27
      • 1970-01-01
      相关资源
      最近更新 更多