belongsTo('App\Model\Staff','_id','_id'); } public function roles() { return $this->belongsToMany('App\Model\Module\Roles'); } public function department() { return $this->belongsToMany('App\Model\Module\Department'); } /** * @param string|array $roles */ public function authorizeRoles($roles) { if (is_array($roles)) { return $this->hasAnyRole($roles) || abort(401, 'This action is unauthorized.'); } return $this->hasRole($roles) || abort(401, 'This action is unauthorized.'); } /** * Check multiple roles * @param array $roles */ public function hasAnyRole($roles) { return null !== $this->roles()->whereIn('name', $roles)->first(); } /** * Check one role * @param string $role */ public function hasRole($role) { return null !== $this->roles()->where('name', $role)->first(); } }