我在 symfony 查询构建器中使用查询和子查询,但在执行它时,它会返回错误。
我的代码是:
$subQb = $em->createQueryBuilder();
$subquery = $subQb->select('COUNT(v.id)')
->from('AdminBundle:Visitsite', 'v')
->where('v.site = s.id')
->Andwhere('v.createdate > :date')
->setParameter('date', $date->format('Y-m-d'))
->getDQL();
$subQb2 = $em->createQueryBuilder();
$subquery2 = $subQb2->select('quantity')
->from('AdminBundle:Limitviewday', 'l')
->where($subQb2->expr()->eq('s.limitviewday', 'l.id'))
->getDQL();
$qb = $em->createQueryBuilder();
$query = $qb->select('s')
->from('AdminBundle:Sites', 's')
->where('s.quantity > 1')
->Andwhere('s.status = 1')
->Andwhere($qb->expr()->lte("($subquery)", "($subquery2)"));
$settlements = $query->getQuery()->getResult();
我的结果是
[语义错误]第0行,第183行靠近'数量来自':错误:未定义“数量”。
请帮帮我。
答案 0 :(得分:1)
我认为错误来自:
$subquery2 = $subQb2->select('quantity') // Expected '<alias>' or '<alias>.<property>'
代替:
$subquery2 = $subQb2->select('l.quantity')