答案 0 :(得分:0)
您可以在__construct
期间向用户添加默认角色,然后将关联标记为cascade={"persist"}
。
构造函数看起来像:
public function __construct()
{
$this->role = new RoleLink();
}
我也不认为某个角色需要保留对用户本身的引用,但如果需要,请记住,在Doctrine 2 ORM中,您通过将相关对象分配给关联属性本身来处理关联(而不是标识符) !)
答案 1 :(得分:0)
首先,我认为您不想在用户注册时创建角色条目。我认为最好先定义这些(以及各自的访问权限)。
一旦你完成了这项工作,我猜你之后的明显关系将是持久性级联设置的用户的ManyToOne。
/**
* @Table(name="role")
*/
class Role
{
// possibly define your roles accesses as another realtion or hard code?
}
/**
* @Table(name="user")
*/
class User
{
// id + any other definitions
/**
* @var Entities\Role $role
* @ManyToOne(targetEntity="Role", cascade={"persist"})
*/
private $role;
}