Mic*_*ael 6 php laravel eloquent
我有一个包含条目的数据库。每个条目都有开始日期和状态字段。我想要做的是按开始日期对条目进行排序(已完成),但首先显示状态为 0 的条目,然后显示其他条目(也按开始日期排序)我也在对数据进行分页。现在按日期和分页排序很容易做到,但不知道如何做其他事情。
以下构建state=0首先显示,然后按日期降序排列。您可以致电->get()或->paginate()。
$builder = Model::where('something', '>', 'value')
->orderByRaw("IF(`state` = 0, 1, 0) DESC")
->orderBy('date', 'DESC');
return $builder->paginate(15);
Run Code Online (Sandbox Code Playgroud)
要按 排序第一个,date ASC然后按 排序其他date DESC:
$builder = Model::where('something', '>', 'value')
->orderByRaw("IF(`state` = 0, 1, 0) DESC")
->orderByRaw("IF(`state` = 0, date, 1) ASC")
->orderByRaw("IF(`state` = 0, 1, date) DESC");
Run Code Online (Sandbox Code Playgroud)
我只是将订购分为 3 个不同的条件。
| 归档时间: |
|
| 查看次数: |
3128 次 |
| 最近记录: |