我是学说的新手。我有两个表消息和用户。用户实体有两个连接,fromMessages和toMessages。消息实体有两个连接,fromUser和toUser。我的注释如下:
用户实体:
/**
* @param \Doctrine\Common\Collections\Collection $property
* @OneToMany(targetEntity="Message", mappedBy="fromUser", cascade={"persist", "remove"})
*/
protected $fromMessages;
/**
* @param \Doctrine\Common\Collections\Collection $property
* @OneToMany(targetEntity="Message", mappedBy="toUser", cascade={"persist", "remove"})
*/
protected $toMessages;
消息实体:
/**
* @var User
* @ManyToOne(targetEntity="User", inversedBy="fromMessages")
* @JoinColumns({
* @JoinColumn(name="fromUserId", referencedColumnName="id")
* })
*/
protected $fromUser;
/**
* @var User
* @ManyToOne(targetEntity="User", inversedBy="toMessages")
* @JoinColumns({
* @JoinColumn(name="toUserId", referencedColumnName="id")
* })
*/
protected $toUser;
我留下了一条消息,在用DQL读取消息后(“select u FROM App \ Entities \ User u”)fromMessages正在工作,但toMessages总是返回null。如何解决这个问题?
抱歉我的英语不好。感谢。
答案 0 :(得分:1)
您是否在关系的'拥有'一侧设置了toMessages的值? (也就是说,@ OneToMany的很多方面?根据Doctrine 2文档,只保留拥有方 - 反面被丢弃/忽略。