0
なぜ、変数がsetParameterに渡されたときにクエリビルダが機能しないのかわかりませんでした。symfonyのsetParameterが正しく動作しない
これは動作します:
public function findByMatch($name)
{
$result = $this->createQueryBuilder('u')
->select('u.firstname, u.lastname')
->where('u.firstname LIKE :fname')
->setParameter('fname', ' % '.'paul'.' %')
;
return $result->getQuery()->getResult();
}
が、基準は、変数を経由して渡されたとき、それは、それがさらに下にそれをドリルヌルとして
// from an entity
$matches = $em->getRepository('AppBundle:User')->findByMatch($type);
//.........
// repo
public function findByMatch($name)
{
$result = $this->createQueryBuilder('u')
->select('u.firstname, u.lastname')
->where('u.firstname LIKE :fname')
->setParameter('fname', ' % '.$name. ' %')
;
return $result->getQuery()->getResult();
}
を$名前を返していない、これは」doesnの変数も渡されないというわけではありません。
$ nameが設定されていないか、投稿したコードが実際のコードと一致しません。 %の周りにスペースを入れるのは少し奇妙です。あなたは本当に "ポール"の代わりに "ポール"にマッチしたいですか? – Cerad