我有一些实体需要进行急切加载,而在其他情况下需要进行懒加载(甚至是额外的懒加载)。
我的映射没有在我的YAML中声明获取模式,因此它们使用默认值(懒加载)。
目前唯一的急切加载方式是手动构造DQL-每次添加新实体时都需要更新它。
理想情况下,我只需加载根实体并强制急切加载所有关联对象。我能否这样做?
如果无法实现,那么为什么(除了未实施该功能之外还有其他原因吗)?
我有一些实体需要进行急切加载,而在其他情况下需要进行懒加载(甚至是额外的懒加载)。
我的映射没有在我的YAML中声明获取模式,因此它们使用默认值(懒加载)。
目前唯一的急切加载方式是手动构造DQL-每次添加新实体时都需要更新它。
理想情况下,我只需加载根实体并强制急切加载所有关联对象。我能否这样做?
如果无法实现,那么为什么(除了未实施该功能之外还有其他原因吗)?
setFetchMode()
方法来设置模式。$query->setFetchMode(MyOriginalParent::class, 'parents_alias_used_in_query', Doctrine\ORM\Mapping\ClassMetadata::FETCH_LAZY);
来使其运行懒加载(对于已经急切设置的实体)。 - userfuser
addSelect('alias')
中添加所有关联表的别名以包括相关实体在结果中。 - juanmf