1対1の関係で2つのエンティティを作成する場合、両方のエンティティを明示的に永続化するか、関係の片側でカスケード永続化を使用して永続化する必要があります。また、関係の両側を明示的に設定する必要があります。
Doctrine-作業中アソシエーション付き-推移的永続性/カスケード操作
状態:
Doctrine-アソシエーションとの連携-確立アソシエーション
状態:
カスケードが持続しない場合は、次のようなものが必要です。
$skin = new Skin();
$email = new Email();
$skin->setEmail($email);
$email->setSkin($skin);
$em->persist($email);
$em->persist($skin);
$em->flush();
関係のスキン側でカスケード持続を使用すると、$em->persist($skin)
を省略できます。 。永続化をカスケード接続する場合は、通常、削除もカスケード接続することに注意してください。
* @ORM\OneToOne(targetEntity="MediaparkLt\UserBundle\Entity\Email", inversedBy="skin", cascade={"persist", "remove"})