我必须在我的日期字段上排序订单 send_date ,但空的发送日期总是在结尾。我试过了,但没用:
send_date
Order::orderBy(\DB::raw('ISNULL(send_date), send_date'), 'asc') ->orderBy('send_date', 'desc')
我如何在发送日期排序,空日期总是在结尾?
eit6fx6z1#
只需在列名前使用-减号。
Order::orderByRaw("-start_date",'DESC');
它将对末尾的空值进行排序。希望这有帮助。
a6b3iqyw2#
你可以做:
Order::orderBy(\DB::raw("COALESCE(d, '9999-12-31')", 'ASC');
这是因为如果日期是空的,它被认为是 9999-12-31 根据文件,这是最大可能的日期注意:这只适用于排序asc,但如果排序desc nulls,则它仍然位于末尾。检查小提琴
9999-12-31
ohtdti5x3#
Order::orderBy("start_date",'DESC');
我想会有帮助的
3条答案
按热度按时间eit6fx6z1#
只需在列名前使用-减号。
它将对末尾的空值进行排序。
希望这有帮助。
a6b3iqyw2#
你可以做:
这是因为如果日期是空的,它被认为是
9999-12-31
根据文件,这是最大可能的日期注意:这只适用于排序asc,但如果排序desc nulls,则它仍然位于末尾。
检查小提琴
ohtdti5x3#
我想会有帮助的