数据列表同时按两个字段排序

一、问题描述:

users数据表有两个字段 创建时间 created_at  真实姓名 real_name

现在展示users的list需要的排序方式为 有real_name的排后面,没有的排前面;而且两部分都按created_at desc 排序

id         created_at           real_name

1            2016-01               40

2            2016-02                null

3            2016-03               20

4            2016-04                null

5            2016-05                30

6            2016-06                null

期望排序为

id        created_at          real_name

6            2016-06                null

4            2016-04                null

2            2016-02                null

5            2016-05                30

3            2016-03                20

1            2016-01                40

如果只用 ->orderBy('real_name','asc')->orderBy('created_at','desc')结果为

id        created_at          real_name

6            2016-06                null

4            2016-04                null

2            2016-02                null

1            2016-01                40

5            2016-05                30

3            2016-03                20

因为real_name不同 所以有real_name的created_at排序没有生效

二、解决办法:

->orderBy(\DB::raw('ISNULL(real_name)'),'desc')->orderBy('created_at','desc')

使用sql判断real_name是否为空,如果为空就是1,不为空就是0;这样real_name就只有1和0,是0 的排后面(因为0代表real_name不为空),是1的排前面。

相当于:

id        created_at          real_name

6            2016-06                1

4            2016-04                1

2            2016-02                1

5            2016-05                0

3            2016-03                0

1            2016-01                0

结束。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,869评论 18 139
  • CREATE TABLE IF NOT EXISTS ecs_order_info (order_id mediu...
    cookie口阅读 15,748评论 0 16
  • #pragma mark 图片处理 + (UIImage *)imageFromColor:(UIColor *)...
    idream阅读 419评论 0 0
  • 早上看了一本书,名字叫《晨间日记》,其中说到晚上写日记要么是自省,要么是抱怨,感觉还真是呢,昨天有抱怨,今天好像还...
    天外来客人阅读 1,114评论 2 1
  • 看着流泪,融入温暖。 执子之手,与子偕老。 相亲相爱,永恒画面。 驻扎热点,人人称赞。 情感真挚,不得不服。 ...
    鸣鸥阅读 242评论 4 6