假设我想按声誉对用户列表进行排序:
- 拥有 5 个声誉的用户
- 拥有 3 个信誉的用户
- 信誉为 0 的用户(该用户在第 4 个用户之前注册)
- 信誉为 0 的用户
通过执行 $query->get()->sortByDesc('reputation')
,我收到以下结果:
- 拥有 5 个声誉的用户
- 拥有 3 个信誉的用户
- 信誉为 0 的用户
- 信誉为 0 的用户(该用户在第 4 个用户之前注册)
如何对集合进行排序以接收类似于第一个示例的结果?换句话说,如果用户的信誉度为0,如何将排序方式更改为按降序排列的创建日期?
最佳答案
在查询中链接两个 orderBy()
方法:
->orderBy('created_at', 'desc')->orderBy('reputation', 'desc')->get();
关于php - 如何按声誉和创建日期对集合进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41553520/