gpt4 book ai didi

php - 学说 2 : Hydrate key-value array

转载 作者:行者123 更新时间:2023-12-02 15:31:49 27 4
gpt4 key购买 nike

为什么这个查询不起作用?

    $query = $this->_em->createQuery('
SELECT
COUNT(p) AS products_count
FROM
Application\Entity\Category c
INDEX BY c.id
LEFT JOIN c.products p
GROUP BY
c.id
');

$rows = $query->getSingleScalarResult();

我希望得到这样的结果:“category_id => products_count”数组,但它抛出了一个 Doctrine\ORM\NonUniqueResultException 而没有任何消息。

最佳答案

如果您在GROUPED 查询中COUNT 行,它将返回多个结果以及每个组的计数。在您的例子中,您将获得每个 Category 的计数。

如果您尝试对具有多个条目的结果执行 getSingleScalarResult(),它将产生一个 Doctrine\ORM\NonUniqueResultException。相反,您应该使用 getScalarResult() 并遍历条目。

编辑:

要将结果转换为 array("category_id"=> "products_count_value") 形式,您可以使用以下代码:

$output = array();
foreach ($rows as $category, $values) {
$output[$category] = $values['products_count'];
}

$output 现在应该包含您想要的值。

关于php - 学说 2 : Hydrate key-value array,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24861411/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com