Laravel数据表的输出

时间:2017-08-16 09:44:49

标签: datatables laravel-5.4 adminlte

我使用的是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);

我的输出如下

enter image description here

但我需要按钮。在这方面有谁能帮助我?

1 个答案:

答案 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