と の 2 つのエンティティがUser
ありAvatar
ます。各ユーザーはリストから 1 つのアバターを選択できるので、これは One2One の一方向の関係だと思います。問題は、フォームを保存するときにフィールドavatar_id
が常にデータベースにあることです。NULL
コードを見てみましょう:
class User implements UserInterface
{
/**
* @var int $avatarId
*
* @ORM\Column(name="avatar_id", type="integer", nullable=true)
*/
private $avatarId;
/**
* @var Avatar
*
* @ORM\OneToOne(targetEntity="Avatar", cascade={"persist", "remove"})
*/
private $avatar;
}
保存する前にvar_dump
ユーザー オブジェクトを保存すると、フィールドavatarId
にはオブジェクトが含まれAvatar
ますが、ID は保存されません。私が間違っていることは何ですか?
["avatarId":"Test\UserBundle\Entity\User":private]=>
object(Test\UserBundle\Entity\Avatar)#419 (5) {
["id":"Test\User\Bundle\Entity\Avatar":private]=>
int(3)
["imageName":"Test\UserBundle\Entity\Avatar":private]=>
string(14) "death-dark.jpg"
}