belongsToMany('App\Models\Permission'); } /** * Determine if the role has the given permission. * * @param mixed $permission * @return boolean */ public function inRole($permission) { if (is_string($permission)) { return $this->permissions->contains('name', $permission); } return !! $permission->intersect($this->permissions)->count(); } /** * @param $permission * @return bool */ public function attachPermission($permission) { return (!$this->permissions()->get()->contains($permission)) ? $this->permissions()->attach($permission) : true; } /** * @param $permission * @return mixed */ public function detachPermission($permission) { return $this->permissions()->detach($permission); } /** * Detach all permissions. * * @return int */ public function detachAllPermissions() { return $this->permissions()->detach(); } }