Лучшие практики для моделирования этого сценария - PullRequest
0 голосов
/ 05 июля 2018

У меня есть класс, который расширяет класс 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;

}  

Но это звучит не очень хорошо.

Есть ли шаблон проектирования для этого сценария?

1 Ответ

0 голосов
/ 11 июля 2018

Как писал @lxg, возможный шаблон наследование одной таблицы . Вы можете посмотреть пример здесь .

...