所以,我有以下实体结构:
/**
* @ORM\Entity
*/
class Group
{
/**
* Many-To-Many, Unidirectional
*
* @var ArrayCollection $permissions
*
* @ORM\ManyToMany(targetEntity="Permission")
* @ORM\JoinTable(name="group_has_permission",
* joinColumns={@ORM\JoinColumn(name="group_id", referencedColumnName="id")},
* inverseJoinColumns={@ORM\JoinColumn(name="permission_id", referencedColumnName="id")}
* )
*/
protected $permissions;
public function __construct()
{
$this->permissions = new ArrayCollection();
}
}
/**
* @ORM\Entity
*/
class Permission {}
这只是一个例子,但我很困惑。我需要另一个可能称为“group_has_permission”的实体,它有两个字段:group_id和permission_id,对吗?或者我错了吗?
答案 0 :(得分:3)
您不需要创建新实体。
Doctrine将为您创建一个组表,一个权限表&连接表,以便将组链接到多个权限。这对你来说是透明的。