2016-05-17 85 views
0

我已经在我的Laravel项目中包含了Yajra Datatables,它的工作正常。Yajra Laravel Datatable - 合并列值

问题是我需要合并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); 

回答

3

你可以试试下面的代码

服务器端

$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}, 
    ],` 

上面的代码是没有测试,但你可以试试。如果您有任何问题,请告诉我。

+0

谢谢..它的工作:) .. –