Я строю форму поиска подержанных автомобилей. В форме пользователь может выбрать флажки для опций, которые должен иметь автомобиль. Поскольку пользователь может выбрать несколько параметров, мне нужно найти автомобиль, у которого есть все параметры, которые выбрал пользователь.Запрос Doctrine QueryBuilder: имеет несколько ассоциаций
Я пытаюсь создать запрос, который проверяет, имеет ли «автомобиль» выбранные параметры. Сейчас им возможность проверить, если автомобиль имеет один из выбранных вариантов, выполнив:
// The options filter is something special, the parameter is passed as a comma separated
// String with options ids
if($param == 'car.options' && $optionsIds){
$queryBuilder->leftJoin('car.options', 'option');
$options = $queryBuilder->expr()->orX();
foreach(explode(',', $optionsIds) as $id) {
$options->add($queryBuilder->expr()->eq('option.id', $id));
}
$wheres->add($options);
continue;
}
Но когда я изменить «ORX» с результатом «AndX» всегда возвращается пустым.
Коды символов выше являются частью большей функции.
Пробовали ли вы $ queryBuilder-> andWhere ('option.id в (: значение)') -> setParameter ('значение', $ значение) –
Да, я пробовал, но это приводит к тому же, что я высказал выше. – Arne