【问题标题】:Doctrine DQL with SELECT, GROUP BY, COUNT Semantical Error带有 SELECT、GROUP BY、COUNT 语义错误的 Doctrine DQL
【发布时间】:2022-10-20 17:05:00
【问题描述】:

我想执行如下查询: SELECT o.lang, COUNT(o.id) FROM `order` o GROUP BY o.lang;。 我尝试:

$entityManager->getRepository(Order::class)
    ->createQueryBuilder('o')
    ->select(["o.baseLang", "COUNT(o.id)"])
    ->groupBy("o.baseLang")
    ->getQuery()
    ->getResult();

,但我得到Error: Invalid PathExpression. Must be a StateFieldPathExpression。 我该怎么做呢?

【问题讨论】:

  • PathExpression 意味着您的字段。我猜想与 o.baseLang 有什么关系。如果 baseLang 可能是外键,很可能您需要添加 join 或使用身份调用它

标签: php symfony doctrine dql


【解决方案1】:

你把:

$entityManager->getRepository(Order::class)
->createQueryBuilder('o')
->select(["IDENTITY(o.baseLang)", "COUNT(o.id)"])
->groupBy("o.baseLang")
->getQuery()
->getResult();

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-01-28
    • 1970-01-01
    • 1970-01-01
    • 2020-08-15
    • 2011-08-31
    • 1970-01-01
    • 2016-08-14
    • 1970-01-01
    相关资源
    最近更新 更多