我对教条关系有异议。我尝试了不同的方法,但任何事情都行不通。我的想法是,我有一个新闻实体,每一个新闻都应该有很多评论。接下来我试一试:
新闻实体:
/**
* @ORM\OneToMany(targetEntity="App\ORM\Entity\NewsComment", mappedBy="news")
*/
protected \Doctrine\Common\Collections\Collection $comments;
/**
* News constructor.
*/
public function __construct() {
$this->comments = new ArrayCollection();
}
和NewsComment实体:
/**
* @ORM\ManyToOne(targetEntity="App\ORM\Entity\News", inversedBy="comments")
*/
protected \App\ORM\Entity\News $news;
每个实体都有自己的get和set方法。
但是,当我收到一个新闻实体a可以得到评论集合,但它总是空的。另一方面,我可以从这个新闻实体中获取任何NewsComment实体。它很好用。但不是另一种方式。
我的密码有问题吗?
发布于 2020-08-08 13:15:54
原则集拥有的(非反转的)集合默认为懒惰。
在按数据库检索实体时,您应该看到一个空的PersistentCollection
而不是ArrayCollection
,其中initialized
属性设置为false。
当调用该集合上的任何方法时,原则会激发初始化集合和填充集合所需的查询。
应该只检查集合的空值,调用isEmpty
。
https://stackoverflow.com/questions/63314926
复制相似问题