gpt4 book ai didi

php - Symfony Doctrine Group By Query

转载 作者:行者123 更新时间:2023-12-04 02:11:40 27 4
gpt4 key购买 nike

我有以下 sql 查询运行良好,

SELECT completed_by, count(*) AS Total
FROM tasks
WHERE completed_by is not null AND status = 1
GROUP BY completed_by
;

Em正在使用 Doctrine 查询构建器进行操作,但无法返回错误。
$parameters = array(
'status' => 1,
);

$qb = $repository->createQueryBuilder('log');
$query = $qb
->select(' log.completedBy, COUNT(log) AS Total')
->where('log.Status = :status')
->groupBy('log.completedBy')
->setParameters($parameters)
->getQuery();

并低于错误;

[Semantical Error] line 0, col 21 near 'completedBy,': Error: Invalid PathExpression. Must be a StateFieldPathExpression.

最佳答案

我知道这个答案可能会晚,但我在完全相同的问题上挣扎,并且在互联网上没有找到任何答案,我相信很多人都会在同样的问题上挣扎。

我假设您的“completedBy”指的是另一个实体。

因此,在您的存储库中,您可以编写:

$query = $this->createQueryBuilder("log")
->select("completer.id, count(completer)")
->join("log.completedBy", "completer")
->where('log.Status = :status')
->groupBy("completer")
->setParameters($parameters)
->getQuery();

这将编译为:
SELECT completer.id, count(completer) FROM "YOUR LOG CLASS" log INNER JOIN log.completedBy completer WHERE log.Status=:status GROUP BY completer

现在,您可以执行另一个查询以通过其 ID 获取这些“完成者”。

关于php - Symfony Doctrine Group By Query,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37523372/

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