0

ユーザーグループを管理するクラスを作成しています。グループには、ユーザーまたはユーザーのグループを含めることができます

そのような関係を処理する実装する symfony クラスが既にあるのではないかと思います。

私に思いついた最良の方法は、次のようなものです。

class Group
{

    /**
     * @var integer
     *
     * @ORM\Column(name="id", type="integer")
     * @ORM\Id
     * @ORM\GeneratedValue(strategy="AUTO")
     */
    private $id;

    /**
     * @var string
     *
     * @ORM\Column(name="name", type="string", length=255)
     */
    private $name;

    /**
     * @ORM\ManyToOne(targetEntity="User")
     * @ORM\JoinColumn(name="coordinator_id", referencedColumnName="id", nullable=false)
     */
    private $coordinator;

    /**
     * @ORM\ManyToOne(targetEntity="Group")
     * @ORM\JoinColumn(name="parent_id", referencedColumnName="id", nullable=true)
     */
    private $parent; 

    /**
     * @ORM\ManyToMany(targetEntity="User", inversedBy="users")
     * @ORM\JoinTable(name="groups_users")
     */
    private $users;       

}
4

1 に答える 1