Мне нужно захватить много сущностей по значениям в массиве.
Метод ниже:
$arrayOfIds = [1,2,3,4,5];
$I->grabEntitiesFromRepository(Product::class, ['id' => $arrayOfIds]);
Вернуть:
[Doctrine \ DBAL \ Exception \ SyntaxErrorException] Возникла исключительная ситуация
при выполнении SELECT p0_.id
AS id_2, p0_.created_at AS, создан_at_3, p0_.updated_at AS
updated_at_4 ОТ продукта p0_ ГДЕ p0_.id =?,?,?,?,? ‘ с
params [1, 2, 3, 4, 5]:SQLSTATE [42000]: синтаксическая ошибка или нарушение прав доступа: 1064
ошибка в вашем синтаксисе SQL; проверьте руководство, которое соответствует вашему
Версия сервера MySQL для правильного синтаксиса для использования рядом с ‘, 2, 3, 4, 5’
в строке 1
Это способ сделать это:
$arrayOfIds = [1,2,3,4,5];
$products = array();
foreach($arrayOfIds as $id){
$products = array_merge($products, $I->grabEntitiesFromRepository(Product::class, ['id' => $id]));
}
$ products продолжает добавлять новые продукты по всем идентификаторам.
Других решений пока нет …