我必须在DB中使用表:user,profile。 表格配置文件有一个名为user_id的字段。
class User {
....
/**
* @var \MyBundle\Entity\Profile
* @ORM\OneToOne(targetEntity="Profile", mappedBy="user")
*
*/
private $profile;
....
}
和Profile类:
class Profile {
....
/**
* @var \MyBundle\Entity\User
* @ORM\OneToOne(targetEntity="User", inversedBy="profile")
* @ORM\JoinColumn(name="user_id", referencedColumnName="id")
*
*/
private $user;
....
}
当我尝试按ID获取个人资料然后使用->getUser()
时,它工作正常,但如果我按ID获取用户,然后想要->getProfile()
它不起作用(返回null)。
$user = $this->getDoctrine()
->getRepository('MyBundle:User')
->find(76322);
$user->getProfile(); // returns null :(
$profile = $this->getDoctrine()
->getRepository('MyBundle:Profile')
->find(12334);
$profile->getUser(); // return User object
答案 0 :(得分:0)
试试这个..
class User {
....
/**
* @var \MyBundle\Entity\Profile
* @ORM\OneToOne(targetEntity="Profile", mappedBy="users")
*
*/
private $profiles;
....
}
个人资料类:
class Profile {
....
/**
* @var \MyBundle\Entity\User
* @ORM\OneToOne(targetEntity="User", inversedBy="profiles")
*
*/
private $users;
....
}
享受!
答案 1 :(得分:0)
Finnaly解决了。 我也有包含实体元数据的xml文件。我删除了它们。工作正常。