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

发布时间:2022-09-27 22:53:48 阅读:99次

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

类似

->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);

如有问题,可以QQ搜索群1028468525加入群聊,欢迎一起研究技术

支付宝 微信

有疑问联系站长,请联系QQ:QQ咨询

转载请注明:laravel集合collect按两个或者多个字段排序测试 出自老鄢博客 | 欢迎分享