在laravel中按降序先从空开始排序

问题描述

我想按降序对表中的值进行排序,而空值在第一个中,如下所示:

null
null
2020-09-27 16:36:17 
2020-09-27 18:20:30
2020-09-27 22:45:26
2020-09-28 02:11:14
2020-09-28 10:31:43

我使用了以下代码,但是没有用

Source::orderBy('last_rank_update','asc')->get();

我该如何实现?

解决方法

在升序排列中,null值默认出现在最后(在降序排列中排在第一)。 Postgres提供了一种使用选项nullnulls first覆盖默认排序顺序nulls last的方法。

您可以将其与orderByRaw一起使用:

Source::orderByRaw('last_rank_update nulls first')