С помощью QueryBuilder я могу добавить какое-либо условие к уже добавленным и не заменить их:
if (isset($params['cityId'])) {
$qb->andWhere('c.city = :cityId');
}
if (isset($params['categoryId'])) {
$qb->andWhere('c.categoryId = :catId')
}
Но добавленные параметры замещают старые. Я не въехала в документацию, или в этом действительно нет необходимости и параметры действительно всегда добавляются скопом? А если я хочу все разбить на методы?
Есть ли смысл использовать:
$parameters = $qb->getParameters();
$parameters[] = new Parameter('cityId', $params['cityId']);
$qb->setParameters($parameters);