В репозиторий могут приходить две переменных, искомый текст (
$search) и дополнительное условие (
$country).
Нужно: Если переменная есть, добавить дополнительное условие, если нету, QueryBuilder использует только стандартный запрос.
public function findByPersonAction($search, $country)
{
$query = $this->getEntityManager()
->createQueryBuilder('p')
->select('p')
->from('DroidUserBundle:Person', 'pi')
->leftJoin('DroidUserBundle:PersonaAddress', 'c', 'WITH', 'p.person_id = c.person_id')
->where('lower(p.firstname) LIKE lower(:search)')
if($country != NULL)
{ $query->andWhere('c.country_id = :country')
->setParameter('country', $country)
}
->setParameter('search', '%'.$search.'%')
->getQuery();
$result = $query->getResult();
return $result;
}
Я реализовал это таким подходом. Выдает Fatal error синтаксическую ошибку
if либо ругается на
{ }
Что делаю не так?