我必须在我的日期字段send_date
上排序,但NULL send_dates总是在最后。
我试过这个,但这不起作用:
Order::orderBy(\DB::raw('ISNULL(send_date), send_date'), 'asc')
->orderBy('send_date', 'desc')
如何对send_date进行排序,最后
答案 0 :(得分:1)
只需在列名前使用-minus符号即可。
Order::orderByRaw("-start_date",'DESC');
它会命令在最后对空值进行排序。
希望这有帮助。
答案 1 :(得分:1)
你可以这样做:
Order::orderBy(\DB::raw("COALESCE(d, '9999-12-31')", 'ASC');
这是有效的,因为如果日期为NULL,则认为是9999-12-31
根据answer是最大可能日期
注意:这仅在您对ASC进行排序时才有效,但是如果您对DESC进行排序,那么无论如何都是NULL。
答案 2 :(得分:0)
Order::orderBy("start_date",'DESC');
我认为这会有所帮助