Я использую Doctrine в своем приложении PHP (но не использую Symfony). Я пытаюсь сделать динамический запрос только с одним addWhere / orWhere.
Вот мой код:
$alias = 'a';
$key = 'id';
$qb = $repo->createQueryBuilder($alias);
$qb->select($alias);
$qb->andWhere($alias . ' = ' . $key);
// Key is "id" and value is a dynamic array "[1, 2, 3, 6...]"
$qb->setParameter($key, $value);
Если значение только "1", я получил этот DQL:
SELECT a FROM contact a WHERE a = :id
И это работает. Но со значением в виде массива я хочу выполнить этот запрос без нескольких «andOr», потому что мой массив динамический. Есть ли способ автоматического добавления (addWhere или orWhere) для автоматического получения этого с помощью моего массива:
SELECT a FROM contact a WHERE a = :id OR a:= id OR a:= id
Я знаю, что могу сделать цикл for самостоятельно, но я хочу знать, существует ли уже существующий метод в доктрине.