我对条令关系有意见。我尝试了不同的方法,但任何方法都不起作用。我的想法是,我有一个新闻实体,每条新闻都应该有很多评论。所以我尝试下一个:
新闻实体:
/**
* @ORMOneToMany(targetEntity="AppORMEntityNewsComment", mappedBy="news")
*/
protected DoctrineCommonCollectionsCollection $comments;
/**
* News constructor.
*/
public function __construct() {
$this->comments = new ArrayCollection();
}
新闻评论实体:
/**
* @ORMManyToOne(targetEntity="AppORMEntityNews", inversedBy="comments")
*/
protected AppORMEntityNews $news;
每个实体都有自己的get和set方法。
但是,当我收到一个新闻实体时,它可以获得评论集,但它总是空的。另一方面,我可以接受任何NewsComment实体,并从这个新闻实体获得。它运行良好。但不是换一种方式。
我的代码有什么问题吗?
Doctrine默认情况下将拥有(非反转(的集合设置为惰性集合
当通过数据库检索实体时,您应该看到一个空的PersistentCollection
而不是ArrayCollection
,并且initialized
属性设置为false。
当调用该集合上的任何方法时,条令会触发初始化集合并填充它所需的查询
应仅在调用isEmpty
时检查集合的空性。