Codeception, как захватывать объекты по значениям в массиве - PullRequest
0 голосов
/ 18 декабря 2018

Мне нужно захватить много сущностей по значениям в массиве.

Метод ниже:

$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 обновленный_at_4 ИЗ продукта p0_ ГДЕ p0_.id =?,?,?,?,?'с параметрами [1, 2, 3, 4, 5]:

SQLSTATE [42000]: синтаксическая ошибка или нарушение доступа: 1064 В синтаксисе SQL имеется ошибка;проверьте руководство, соответствующее вашей версии сервера MySQL, чтобы найти правильный синтаксис для использования рядом с ', 2, 3, 4, 5' в строке 1

1 Ответ

0 голосов
/ 29 декабря 2018

Это способ сделать это:

$arrayOfIds = [1,2,3,4,5];
$products = array();
foreach($arrayOfIds as $id){
   $products = array_merge($products, $I->grabEntitiesFromRepository(Product::class, ['id' => $id]));
}

$ продукты продолжают добавлять новые продукты по всем идентификаторам.

...