php 自定义按key排序,php – 在Eloquent中按自定义顺序对集合进行排序

如果您有特定订单,那么您需要使用

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())的原始查询“)).

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值