使用Laravel,按列升序排序,但0表示最后排序。这就是我们在普通SQL中的做法:
SELECT * FROM your_table ORDER BY your_field = 0, your_field;
我想知道如何在Laravel。
非常感谢
答案 0 :(得分:2)
使用orderByRaw()
假设Your_Table
模型
Your_Table::orderByRaw('your_field = 0, your_field')->get();
答案 1 :(得分:1)
您可以尝试使用orderByRaw函数。
例如:
$data = new YourModel();
$data = $data->orderByRaw('your_field = 0', 'ASC', 'your_field')->get();
答案 2 :(得分:0)
我认为我们可以使用DB::raw
,因此可能会使用。
DB::select( DB::raw( "SELECT * FROM your_table ORDER BY your_field = 0, your_field" ) );