/** * Get an ability for the given entity. * * @param string $ability * @param \Illuminate\Database\Eloquent\Model|string $entity * @return \Silber\Bouncer\Database\Ability */ protected function getModelAbility($ability, $entity) { $entity = $this->getEntityInstance($entity); $model = Ability::where('name', $ability)->forModel($entity)->first(); return $model ?: Ability::createForModel($entity, $ability); }
/** * Get the ability ID for the given model. * * @param string $ability * @param \Illuminate\Database\Eloquent\Model|string $model * @return int|null */ protected function getModelAbilityId($ability, $model) { $model = $model instanceof Model ? $model : new $model(); return Ability::where('title', $ability)->forModel($model)->value('id'); }