添加到 ArrayCollection 时,教义未链接到拥有对象
Posted
技术标签:
【中文标题】添加到 ArrayCollection 时,教义未链接到拥有对象【英文标题】:Doctrine not linking to owning object when adding to ArrayCollection 【发布时间】:2013-03-11 16:42:19 【问题描述】:尝试在我的网站上创建新的Requirement
对象时遇到问题。在我的 Requirement
对象中,我有以下 Doctrine 字段:
/**
* @ORM\OneToMany(targetEntity="Verification", mappedBy="requirement", cascade="persist", orphanRemoval=true)
*/
private $verifications;
我有以下方法:
public function addVerification($verification)
$this->verifications->add($verification);
在对象的构造函数中我初始化了ArrayCollection
:
/**
* Constructor
*/
public function __construct()
parent::__construct();
$this->verifications = new ArrayCollection();
但是,当尝试创建新的 Requirement
对象时,一切正常,除了创建的 Verifications
未链接到 Requirement
对象。 Requirement
对象和对应的Verification
对象都插入到数据库中,但Verification
对象的requirement_id
字段是NULL
。
我是否需要在我的Verification
对象中手动设置requirement
字段?当我对ArrayCollection
使用add
方法时,Doctrine 不会自动为我执行此操作吗?
【问题讨论】:
【参考方案1】:不,它们不一定会更新。如果您有双向关系,您必须自己维护非欠方。您可以在文档中阅读此内容:
http://docs.doctrine-project.org/en/2.1/reference/association-mapping.html
如果不同时查看需求和验证定义,我很难向您提供具体信息。
【讨论】:
以上是关于添加到 ArrayCollection 时,教义未链接到拥有对象的主要内容,如果未能解决你的问题,请参考以下文章