App\Repositories\Backend\Access\Role\RoleRepository::getForDataTable PHP Method

getForDataTable() public method

public getForDataTable ( string $order_by = 'sort', string $sort = 'asc' ) : mixed
$order_by string
$sort string
return mixed
    public function getForDataTable($order_by = 'sort', $sort = 'asc')
    {
        return $this->query()->with('users', 'permissions')->orderBy($order_by, $sort)->select([config('access.roles_table') . '.id', config('access.roles_table') . '.name', config('access.roles_table') . '.all', config('access.roles_table') . '.sort']);
    }

Usage Example

 /**
  * @param ManageRoleRequest $request
  * @return mixed
  */
 public function __invoke(ManageRoleRequest $request)
 {
     return Datatables::of($this->roles->getForDataTable())->addColumn('permissions', function ($role) {
         if ($role->all) {
             return '<span class="label label-success">' . trans('labels.general.all') . '</span>';
         }
         return $role->permissions->count() ? implode("<br/>", $role->permissions->pluck('display_name')->toArray()) : '<span class="label label-danger">' . trans('labels.general.none') . '</span>';
     })->addColumn('users', function ($role) {
         return $role->users->count();
     })->addColumn('actions', function ($role) {
         return $role->action_buttons;
     })->make(true);
 }