where
句を追加した直後にgetListQueryBuilder
が返すクエリービルダーに、OR
式を動的に追加する必要があります。私はこれを行う適切な方法を見つけることができません、私はちょうど教義を学び始めています。Doctrine2クエリービルダーのorXを
orX
の番号を「チェーン」してビルダーに追加するにはどうすればよいですか?
public function getListQueryBuilder($ownerId)
{
$qb = $this->createQueryBuilder('t');
return $qb
->where($qb->expr()->eq('t.user', ':user'))
->setParameter('user', $ownerId);
}
$builder = getListQueryBuilder(4);
// $ORs is a dynamically builded array, here is just an example
$ORs = array();
$ORs[] = $builder->expr()->like("t.name", 'my name');
$ORs[] = $builder->expr()->like("t.description", 'desc');
// Adding ORs to the builder
$builder->andWhere($builder->expr()->orX(/* here */));
あなたは完全な記事読みたいいけない場合: $ ORX = $ builder-> exprの() - > ORXを(); foreach($ ORは$または) { $ orX-> add($ or); } $ builder-> andWhere($ orX); –
@LouTerrailloune答えの一部になるはずです –
それは私のためのトリックでした!それを指摘するための喝采:) – Sharpy35