我使用的是Laravel 5.4和Datatable 7.x.我也在使用AdminLTE。我需要一个名为“Status”的列。我在控制器中写下了以下代码。
return Datatables::of($users)
->addColumn('status', function(Users $users){
$status = (($users->status == 1)?
'<a href="" class="btn btn-xs btn-warning"><i class="fa fa-eye"></i></a>'
:
'<a href="" class="btn btn-xs btn-warning"><i class="fa fa-eye-slash"></i></a>'
);
$html = '<div class="btn-group">
'.$status.'
</div>';
return $html;
})
->setRowId('id')
->make(true);
我的输出如下
但我需要按钮。在这方面有谁能帮助我?
答案 0 :(得分:1)
如果要在setColumn
方法中使用html或视图,则需要在rawColumns
方法中声明列,以便它不会转义HTML。
return Datatables::of($users)
->addColumn('status', function(Users $users){
$status = (($users->status == 1)?
'<a href="" class="btn btn-xs btn-warning"><i class="fa fa-eye"></i></a>'
:
'<a href="" class="btn btn-xs btn-warning"><i class="fa fa-eye-slash"></i></a>'
);
$html = '<div class="btn-group">
'.$status.'
</div>';
return $html;
})
->setRowId('id')
->rawColumns(['status'])
->make(true);
https://yajrabox.com/docs/laravel-datatables/master/raw-columns