У меня есть класс, который расширяет класс fos_user из FOSUserBundle.
У каждого пользователя есть несколько ролей.
Если у пользователя есть роль «BASIC», у него есть отношение OneToMany с Entry Entry (один основной пользователь имеет много записей)
Если у пользователя есть роль "MASTER", он имеет отношение ManyToMany с сущностью House (у многих основных пользователей много домов).
Я сделал это:
/**
* @ORM\Entity
*/
class User extends BaseUser
{
/**
* @ORM\Id
* @ORM\Column(type="integer")
* @ORM\GeneratedValue(strategy="AUTO")
*/
protected $id;
/**
* @ORM\ManyToMany(targetEntity="House", inversedBy="users")
*/
protected $houses;
/**
* @ORM\OneToMany(targetEntity="Entry", mappedBy="user")
*/
protected $entries;
}
Но это звучит не очень хорошо.
Есть ли шаблон проектирования для этого сценария?