首页 > 解决方案 > Symfon isnull 子查询

问题描述

尝试检查子查询是否为空并获取结果。当我尝试打电话ISNULL时,我收到错误

预期 =、<、<=、<>、>、>=、!=,得到 'IS'

但是当我在数据库中调用 dql 时,它可以正常工作,没有错误。

子查询就像:

$subQb = $repo->createQueryBuilder('i');
$subQb->select('i.id');
$subQb->andWhere($subQb->expr()->eq('i.id', $qb->getRootAliases()[0].'.id'));
$subQb->andWhere($subQb->expr()->isNull('i.value'));
$subQb->groupBy('i.id');

然后我尝试使用:

 $qb->andWhere(
    $qb->expr()->isNull('('.$subQb->getDql().')')
 );

标签: symfonydql

解决方案


exists我已经使用类似解决了问题:$qb->expr()->exists($subQb->getDql())


推荐阅读