添加到ArrayCollection时,Doctrine不链接到拥有对象

时间:2013-03-11 16:42:19

标签: orm doctrine mapping associations

尝试在我的网站上创建新的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对象都插入到数据库中,但requirement_id对象的Verification字段为NULL

我是否需要在requirement对象中手动设置Verification字段?当add使用ArrayCollection方法时,Doctrine是否不会自动为我执行此操作?

1 个答案:

答案 0 :(得分:0)

不,他们不一定更新。如果你有双向关系,你必须自己保持非欠款。您可以在文档中阅读:

http://docs.doctrine-project.org/en/2.1/reference/association-mapping.html

我很难在没有看到要求和验证定义的情况下为您提供具体信息。