如何有效地执行更复杂的原则 2 延迟加载


How to effecient execute a more complex Doctrine 2 lazy load?

假设我有一个用户实体和一个评论实体,其关系为一对多。

假设我正在使用原则 2 从数据库中提取我的用户实体,并且我选择延迟加载用户的评论,而不是一次提取所有内容。

我现在有一个特定的页面,我想在其中显示用户的最后评论,并且在向用户询问其评论时,延迟加载代理会启动并从数据库中提取评论。

这就是我的问题开始的地方:对于大多数有 1-5 条评论的人来说,这很好......但是,如果此人有数百或数千条评论,当我不想一次加载所有评论时,如何使用延迟加载?

这是否超出了教义2?

延迟加载机制只能加载完整的集合。为了仅加载最后一个,您需要使用 DQL 查询。