eloquent($query) ->addColumn('action', function ($data) { return view('user::roles.partials.actions', compact('data')); }) ->addColumn('permissions', function ($data) { return view('user::roles.partials.permissions', [ 'permissions' => $data->getPermissionNames() ]); }); } public function query(Role $model) { return $model->newQuery()->with(['permissions' => function ($query) { $query->select('name')->get(); }])->where('name', '!=', 'Super Admin'); } public function html() { return $this->builder() ->setTableId('roles-table') ->columns($this->getColumns()) ->minifiedAjax() ->dom("<'row'<'col-md-3'l><'col-md-5 mb-2'B><'col-md-4'f>> . 'tr' . <'row'<'col-md-5'i><'col-md-7 mt-2'p>>") ->orderBy(1) ->buttons( Button::make('excel') ->text(' Excel'), Button::make('print') ->text(' Print'), Button::make('reset') ->text(' Reset'), Button::make('reload') ->text(' Reload') ); } protected function getColumns() { return [ Column::make('id') ->addClass('text-center') ->addClass('align-middle'), Column::make('name') ->addClass('text-center') ->addClass('align-middle'), Column::computed('permissions') ->addClass('text-center') ->addClass('align-middle') ->width('700px'), Column::computed('action') ->exportable(false) ->printable(false) ->addClass('text-center') ->addClass('align-middle') ]; } protected function filename() { return 'Roles_' . date('YmdHis'); } }