私はsymfony2とdoctrine2を学んでいます。クエリにエラーがあり、解決策が見つかりません。集計された列を queryBuilder を使用して比較する方法を知りたいです。
$repository = $this->getDoctrine()
->getRepository('SviplAdminBundle:CouponHolder');
$qb = $repository->createQueryBuilder('ch');
$qb = $qb->select(array('ch.id'))
->addSelect($qb->expr()->concat(
$qb->expr()->concat(
'ch.full_name',
$qb->expr()->concat(
$qb->expr()->literal(' ('),
'ch.refer_owner_code'
)
),
$qb->expr()->literal(')')
).' AS HIDDEN name'
)
->where('ch.id > 0')
->andWhere($qb->expr()->like('name', $qb->expr()->literal('%'.$this->get('request')->query->get('q').'%')))
->getQuery();
上記のクエリは次のエラーを返します
[Syntax Error] line 0, col 164: Error: Expected '.' or '(', got 'name'