Я пытаюсь создать динамический c doctrine запрос. Когда я пробую вот так, он работает
$qb->andWhere($qb->expr()->orX(
$qb->expr()->andX(
$qb->expr()->eq('t.width', '245'),
$qb->expr()->eq('t.height', '45'),
),
$qb->expr()->andX(
$qb->expr()->eq('t.width', '225'),
$qb->expr()->eq('t.height', '65'),
)
));
Но я передам ключ и значение из массива.
Мой массив выглядит так:
[
0 => [
"width" => "245"
"height" => "45"
]
1 => [
"width" => "225"
"height" => "65"
]
]
Теперь я попробовал следующий код.
$conditions = $qb->expr()->orX(
$qb->expr()->andX()
);
foreach ($wheres as $outerKey => $outerValue) {
foreach ($outerValue as $innerKey => $innerValue) {
$conditions->add("te.$innerKey = :innerValue");
$qb->setParameter('innerValue', $innerValue);
}
}
$qb->andWhere($conditions);
dd($qb->getDQL());
Но возвращенный SQL не такой, как когда я пытался использовать значение stati c.