관련 엔터티 사용자 및 프로필을 저장하려고합니다. 나는 cascade = { "persist"} 옵션을 사용합니다. 프로필 테이블의 user_id 필드를 제외한 데이터베이스에 데이터가 제대로 저장되며 해당 값은 null입니다. 관계를 설정하면 사용자 테이블의 profile_id 필드가 올바르게 저장됩니다. 내 실수는 어디 갔지?Symfony 2의 OneToOne
사용자 엔티티 :
/**
* @ORM\OneToOne(targetEntity="Profile", mappedBy="user", ,cascade={"persist"})
*/
프로필 개체 :
/**
* @ORM\OneToOne(targetEntity="User", inversedBy="profile", cascade={"persist"})
* @ORM\JoinColumn(name="user_id", referencedColumnName="id")
*/
게터 & 세터 :
사용자 :
` /**
* @param Profile $profile
*/
public function setProfile(Profile $profile)
{
$this->profile = $profile;
}
/**
* @return Profile
*/
public function getProfile()
{
return $this->profile;
}`
프로필 여기 내 관계입니다 :
`/**
* @param User $user
*/
public function setUser(User $user)
{
$this->user = $user;
}
/**
* @return User
*/
public function getUser()
{
return $this->user;
}`
왜 당신이'user' 테이블에'profile_id'을해야합니까? 주석에 따르면'profile' 테이블 내에'user_id'가 있어야하고 다른 것은 없습니다. –