Codeception如何通过数组中的值获取实体

时间:2018-12-18 07:45:07

标签: php symfony4 codeception

我需要通过数组中的值来获取许多实体。

方法如下:

$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 created_at_3,p0_.updated_at AS   从产品p0_中更新了at_4,其中p0_.id =?,?,?,?,?'与   参数[1、2、3、4、5]:

     

SQLSTATE [42000]:语法错误或访问冲突:1064您有一个   您的SQL语法错误;检查与您的手册相对应的手册   MySQL服务器版本,可在',2、3、4、5'附近使用正确的语法   在第1行

1 个答案:

答案 0 :(得分:1)

这是一种实现方法:

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

$ products会按所有ID继续添加新产品。