Laravel 数据表的输出

Output of Laravel datatable

我正在使用 Laravel 5.4 和数据表 7.x。我也在使用 AdminLTE。我需要一个名为 'Status' 的列。我在 controller 中写了下面的代码。

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);

我的输出如下

但我需要按钮。有人可以在这方面帮助我吗?

如果你想在 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