我在Question 的 Query Builder中有一个查询。我的查询是:
$result = $this->entityManager->createQueryBuilder()
->select('cc', 'cct', 'cces')->from('AppHttpEntitiesCicCaseCategory', 'cc')
->innerJoin('cc.type', 'cct')
->leftJoin('cc.eventSubject', 'cces')
->orderBy('cc.title')
->where('cc.active = 1')
->getQuery();
如何使用 AND 子句获取查询?我的意思是替换cc.active = 1 AND system_category=1
' 而不是 where 子句中的cc.active = 1
。 我正在以这种方式尝试:
$result = $this->entityManager->createQueryBuilder()
->select('cc', 'cct', 'cces')->from('AppHttpEntitiesCicCaseCategory', 'cc')
->innerJoin('cc.type', 'cct')
->leftJoin('cc.eventSubject', 'cces')
->orderBy('cc.title')
->where('cc.active = 1 AND system_category=1')
->getQuery();
但这样一来,它就行不通了。我怎样才能正确地做到这一点? 我会很高兴得到帮助。 此致敬意
试试这个:
$result = $this->entityManager->createQueryBuilder()
->select('cc', 'cct', 'cces')->from('AppHttpEntitiesCicCaseCategory', 'cc')
->innerJoin('cc.type', 'cct')
->leftJoin('cc.eventSubject', 'cces')
->orderBy('cc.title')
->where('cc.active = 1')
->andWhere('system_category=1')
->getQuery();
我建议你使用这样的参数:
$result = $this->entityManager->createQueryBuilder()
->select('cc', 'cct', 'cces')->from('AppHttpEntitiesCicCaseCategory', 'cc')
->innerJoin('cc.type', 'cct')
->leftJoin('cc.eventSubject', 'cces')
->orderBy('cc.title')
->where('cc.active = :active')
->andWhere('system_category=:system_category')
->setParameters(
[
'active' => 1,
'system_category' => 1
]
)
->getQuery();