使用聚合实体限制 SQL 查询的数量

问题描述 投票:0回答:0

假设我有 usersthings 桌子。每个用户可以拥有很多东西。一件事恰好分配给一个用户。

我有一个获取所有东西的代码:

$things = $this->createQueryBuilder('t')->getQuery()->getResult();

要显示所有用户详细信息,我这样做:

foreach ($things as $thing) {
    var_dump($thing->getUser()->getName());
}

问题是此代码需要 n+1 个查询(1 个查询获取所有 n 个事物,n 个查询获取分配给它们的所有用户)。

问题是:是否有可能使用一个查询以某种方式构建具有指定用户对象的所有事物对象?

php performance optimization doctrine
© www.soinside.com 2019 - 2024. All rights reserved.