【发布时间】:2011-11-04 23:05:29
【问题描述】:
使用 FOSUserBundle,我正在尝试保留相关实体。我用一个名为 UserInfo 的新实体扩展了 User。使用级联函数持久化时:
相关的userinfo实体中的user_id列在注册时没有被用户实体的id值填充:
用户实体:
/**
* @ORM\Entity
* @ORM\Table(name="re_user")
*/
class User extends BaseUser
{
...
/**
* @ORM\OneToOne(targetEntity="UserInfo", mappedBy="user", cascade={"persist", "remove"})
*/
protected $userinfo;
用户
class UserInfo
{
...
/**
* @ORM\OneToOne(targetEntity="User", inversedBy="userinfo")
* @ORM\JoinColumn(name="user_id", referencedColumnName="id")
*/
protected $user;
...
}
持久化相关 FOSUserBundle 实体的正确方法是什么。
希望我已经解释清楚了,如果我可以进一步澄清,请告诉我。
【问题讨论】:
-
您是否在代码中对 UserInfo::$user 进行了任何分配?
-
我不确定你所说的分配是什么意思,但我已经在上面包含了我的用户信息实体的一部分,其中 JoinColumn 与 user_id 引用来自用户实体的 id。
标签: php doctrine doctrine-orm symfony