Symfony:自定义存储库函数返回非对象结果

Symfony:自定义存储库函数返回非对象结果,symfony,Symfony,以下是实体提要的自定义存储库函数的内容 我想在我的目录中至少获得一个订阅的每个提要,然后在foreach循环中浏览它,但它返回以下内容: FatalErrorException: Error: Call to a member function getId() on a non-object in * line * 你知道怎么解决这个问题吗? 例如,我看到您可以执行$feed[0]->getId,但我想要的是对象,而不是数组。 有些话题是相似的,但我没有找到任何好的答案 编辑:嗯,我想我找到了

以下是实体提要的自定义存储库函数的内容

我想在我的目录中至少获得一个订阅的每个提要,然后在foreach循环中浏览它,但它返回以下内容:

FatalErrorException: Error: Call to a member function getId() on a non-object in * line *
你知道怎么解决这个问题吗? 例如,我看到您可以执行$feed[0]->getId,但我想要的是对象,而不是数组。 有些话题是相似的,但我没有找到任何好的答案

编辑:嗯,我想我找到了我自己问题的答案

为了得到我想要的,我需要删除select中的计数。我不想要它,它只在拥有的时候才需要

这看起来很有效:

return $this->createQueryBuilder('f')
->leftJoin('f.subscriptions','s')
->groupBy('f')
->having('f.inCatalog = TRUE')
->orHaving('COUNT(s) > 0');
->getQuery()->getResult();
现在,结果返回我想要的对象数组。
感谢回答问题的人。

您必须在select、f.id中至少使用一个主键。在这种情况下,我猜您可以使用此id进行分组。

使用部分

$qb->select('partial f.{id, subscriptions}, count(s.id)');
结果可能会在数组中返回,因此您可以尝试访问它

{{ feed[0][0]->getId() }}
见我的类似问题:

您是否检查了查询是否通过var\u转储结果返回任何结果?此外,如果您为USI提供实体映射,这也会很有帮助。如果我使用var_dump,浏览器通常会崩溃得太大。我将编辑帖子以添加映射。您是否也尝试->选择'COUNTs.id'?
{{ feed[0][0]->getId() }}