У меня есть набор сущностей, для которых у меня есть поле owned
. Мне нужно установить owned
вручную, так как это зависит как от ManyToMany, так и от унаследованной системы (если пользователь владеет Course
, он также владеет всеми Subject
внутри и т. Д. c).
Этот класс извлекается из базы данных с использованием Doctrine аннотаций ORM. Первоначально я хотел установить его в объявлении App\Entity
, но, поскольку это не очень хорошая практика, я рассматривал, возможно, использование прослушивателя событий или фабрики. Я застрял в том, как это сделать.
Например, вот что я хочу установить, основываясь на текущем вошедшем в систему пользователе.
class Course {
private $owned = false;
public function getOwned(): ?bool
{
return $this->owned;
}
public function setOwned( bool $state )
{
$this->owned = $state;
return $this;
}