如果您有特定订单,那么您需要使用
Collection Methods:
要按照您指定的特定顺序获取您的ID,您可以使用sortBy方法,如下所示,其中collection是您的模型集合:
$ids = [ 5, 6, 0, 1];
$sorted = $collection->sortBy(function($model) use ($ids) {
return array_search($model->getKey(), $ids);
});
// [ 5, 6, 0, 1] // (desired order)
要随机化您的集合,您可以使用shuffle方法.
$collection = collect([1, 2, 3, 4, 5]);
$shuffled = $collection->shuffle();
$shuffled->all();
// [3, 2, 5, 1, 4] // (generated randomly)
有关更具体的要求,请参阅shuffle和/或sortBy上的Laravel Docs.
如果你真的没有特定的订单,你可以在版本5.2及更高版本中使用 – > inRandomOrder(),旧版本需要使用 – > orderBy(DB :: raw(‘RAND())的原始查询“)).