这是我当前的查询,它工作正常:
$q = $this->_em->createQuery("SELECT s FROM app\models\Sub s
LEFT JOIN s.case c
WHERE s.type LIKE '%$type'
AND c.id = '$id'");
foreach ($q->getResult() as $row) {
$results[$row->getId()] = $row;
}
我想将其转换为 QueryBuilder API 结构,这是我目前所拥有的,但它无法正常工作。(并且我需要与上述格式相同的结果)。
$q = $this->_em->createQueryBuilder();
$q->add('select', 's')
->add('from', 'app\models\Sub s')
->add('leftJoin', 's.case c')
->add('where', 's.type LIKE :type')
->add('where', 'c.id = :case');
->setParameter('type', "%$type");
->setParameter('case', $id);
再一次,这不能正常工作,我不知道如何以与上述相同的格式获得结果。谢谢!