Laravel Eloquent 查询获取所有id等于数组的结果。

26 浏览
0 Comments

Laravel Eloquent 查询获取所有id等于数组的结果。

我正在尝试从我的数据库中获取所有ID等于数组中的ID的数据。我希望这个操作按照顺序进行,例如,如果数组被称为$attributes,并且看起来像这样;

array:2 [▼
  0 => 11
  1 => 12
]

我想获取所有ID等于11的结果,并将它们分组以便稍后循环。然后继续查询数据库,获取所有ID等于12的结果。

我可以创建一个循环,在每次迭代中运行一个查询,但如果数组中有30个以上的ID,那将导致30个查询,这些查询本质上是相同的,只是匹配不同的ID。

我能否将一个数组传递给where或子句,并将结果分块,以便稍后按组循环遍历?

0
0 Comments

问题出现的原因是需要根据多个id值来查询Laravel模型的结果。解决方法是使用Eloquent查询构造器的whereIn方法,并将包含多个id值的数组作为参数传递给该方法。通过调用get方法,可以获取所有符合条件的结果。

具体代码如下:

$models = Model::whereIn('id', [1, 2, 3])->get();

通过以上代码,可以查询出id为1、2、3的所有模型结果。

在给出的链接中还提供了其他实现相同功能的方法。

总之,可以通过在whereIn方法中传递一个包含多个id值的数组来查询Laravel模型的结果。

0