我需要通过数组中的值来获取许多实体。
方法如下:
$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行
答案 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继续添加新产品。