1

RequirementWeb サイトで新しいオブジェクトを作成しようとすると問題が発生します。私の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除いて、すべて正常に機能します。オブジェクトと対応するオブジェクトの両方がデータベースに挿入されますが、オブジェクトのフィールドは.VerificationsRequirementRequirementVerificationrequirement_idVerificationNULL

オブジェクトのrequirementフィールドを手動で設定する必要がありますか? のメソッドVerificationを使用すると、Doctrine は自動的にこれを行いませんか?addArrayCollection

4

1 に答える 1

0

いいえ、必ずしも更新されるわけではありません。双方向の関係を持っている場合は、借りていない側を自分で維持する必要があります。これについては、ドキュメントで読むことができます。

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

要件と検証の両方の定義を確認せずに詳細を説明するのは難しいです。

于 2013-03-11T16:52:12.667 に答える