Ejemplo n.º 1
0
 public function search($input)
 {
     $query = Permission::query();
     $columns = Schema::getColumnListing('permissions');
     $attributes = array();
     foreach ($columns as $attribute) {
         $attributes[$attribute] = null;
         if (isset($input[$attribute]) and !empty($input[$attribute])) {
             $query->where($attribute, $input[$attribute]);
             $attributes[$attribute] = $input[$attribute];
         }
     }
     /*
      ** Filter
      */
     $this->filter($input, $query);
     /*
      ** Get count
      */
     $total = $query->count();
     /*
      ** Pagination
      */
     $this->pagination($input, $query);
     /*
      ** Order
      */
     $this->order($input, $query);
     return [$query->get(), $attributes, 'total' => $total];
 }
Ejemplo n.º 2
0
 protected function getPermissionsAttribute()
 {
     $permissionsUser = $this->permissions();
     $permissionsRole = Permission::query()->join('permission_role', 'permissions.id', '=', 'permission_role.permission_id')->join('role_user', 'role_user.role_id', '=', 'permission_role.role_id')->where('role_user.user_id', $this->id)->get()->lists('name')->toBase();
     return $permissionsRole->merge($permissionsUser)->unique();
 }