Yajra Laravel Datatable - 合并列值

San*_*het 0 datatables laravel

我在我的Laravel项目中包含了Yajra Datatables并且工作正常.

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

我怎么做?

我能够使用渲染功能并在单个列中显示数据.但那么如何搜索?

示例Mysql表:

student_master(fname,mname,lname)
Run Code Online (Sandbox Code Playgroud)

在javascript我有:

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

我在控制器上的Ajax功能如下所示

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

    return Datatables::of($results)                        
                    ->make(true);
Run Code Online (Sandbox Code Playgroud)

小智 8

您可以尝试以下代码

在服务器端

$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);
Run Code Online (Sandbox Code Playgroud)

Javascript Side

` 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},
    ],`
Run Code Online (Sandbox Code Playgroud)

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