首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >关于原则OneToMany关系的问题

关于原则OneToMany关系的问题
EN

Stack Overflow用户
提问于 2020-08-08 11:35:32
回答 1查看 65关注 0票数 0

我对教条关系有异议。我尝试了不同的方法,但任何事情都行不通。我的想法是,我有一个新闻实体,每一个新闻都应该有很多评论。接下来我试一试:

新闻实体:

代码语言:javascript
运行
复制
/**
 * @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实体:

代码语言:javascript
运行
复制
/**
 * @ORM\ManyToOne(targetEntity="App\ORM\Entity\News", inversedBy="comments")
 */
protected \App\ORM\Entity\News $news;

每个实体都有自己的get和set方法。

但是,当我收到一个新闻实体a可以得到评论集合,但它总是空的。另一方面,我可以从这个新闻实体中获取任何NewsComment实体。它很好用。但不是另一种方式。

我的密码有问题吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-08-08 13:15:54

原则集拥有的(非反转的)集合默认为懒惰。

在按数据库检索实体时,您应该看到一个空的PersistentCollection而不是ArrayCollection,其中initialized属性设置为false。

当调用该集合上的任何方法时,原则会激发初始化集合和填充集合所需的查询。

应该只检查集合的空值,调用isEmpty

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63314926

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档