laravel集合collect按两个或者多个字段排序测试

我们在操作数据库的时候可能要用到排序

类似

`->orderBy('status','desc')->orderBy('created_at','asc')->get();`

有时候我们可能需要对查询出来的集合再排序

方法如下

`$list = $list->sortBy('created_at')->sortByDesc('status');`

越靠后的排序结果优先级越高

如果数组,如何对二维数组进行排序,简单方法将数组转化为集合

或者新建函数

```
public static function arraySort($array, $keys, $sort = SORT_DESC)
{
$keysValue = [];
foreach ($array as $k => $v) {
$keysValue[$k] = $v[$keys];
}
array_multisort($keysValue, $sort, $array);
return $array;
}

#转集合排序
collect($array)->sortBy('key')->toArray();
collect($array)->sortByDesc('key')->toArray();

array_multisort(array_column($array, 'key'), SORT_DESC, $array);

```

    A+
发布日期:2022年09月27日  所属分类:未分类

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: