加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

php – 无法在非聚合查询中对未定义的结果变量添加条件

发布时间:2020-12-13 13:17:12 所属栏目:PHP教程 来源:网络整理
导读:我正在实体存储库中执行此查询并继续获取 Cannot add having condition on undefined result variable 但查询根本没有聚合.为什么会发生这种情况? public function getPersonalizableItemsByOwner(User $owner){ $qb = $this -getEntityManager() -createQu
我正在实体存储库中执行此查询并继续获取

Cannot add having condition on undefined result variable

但查询根本没有聚合.为什么会发生这种情况?

public function getPersonalizableItemsByOwner(User $owner)
{
    $qb = $this
        ->getEntityManager()
        ->createQuery('SELECT pi FROM '.$this->getEntityName().' pi WHERE order_id = :owner_id AND (deletedAt IS NULL OR deletedAt > :referenceDate)')
        ->setParameters(array('owner_id' => $owner->getId(),'referenceDate' => date('Y-m-d H:i:s')));

        return $qb->getResult();
}

PS:我对Doctrine知之甚少,我的任务是通过KnpLabs SoftDeleteable特性添加软删除支持,但仅限于某些特定情况,因此我不能使用全局可用的过滤器,必须手动实现.

您不能检查deletedAt是否为null,但检查deletedAt的ID是否为null.

更改为:deletedAt.id IS NULL应该修复它.

编辑:今天早上出现此错误,并修复它,谢谢:http://www.christophe-meneses.fr/article/corriger-l-erreur-request-critical-uncaught-php-exception-doctrine-orm-query-queryexception-semantical-error-cannot-add-having-condition-on-a-non-result-variable

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读