douzha6055 2017-04-17 01:48
浏览 207

(laravel)两个ORDER BY子句和一个LIMIT

This is some sorting:

  1. I want to list 20 best posts based on "views".
  2. then, sort it based on "created_at".

How to do it?

Heres my current code (which work, but doesnt sort by "created_at"):

$this->data['today_post'] = 
Posts::orderBy('views', 'desc')
->orderBy('created_at', 'desc')
->whereRaw('created_at >= NOW() - INTERVAL 1 DAY')
->limit(20)->get();
  • 写回答

3条回答 默认 最新

  • dongre6270 2017-04-17 03:58
    关注

    You can write this. Hopefully this will solve your problem

    $this->data['today_post'] = 
    Posts::orderBy('views', 'desc')
    ->orderBy('created_at', 'desc')
    ->whereDate('created_at', Carbon::today()->toDateString())
    ->limit(20)
    ->get();
    

    Also add use Carbon\Carbon; at the beginning of your controller.

    评论

报告相同问题?

悬赏问题

  • ¥15 uniapp uview http 如何实现统一的请求异常信息提示?
  • ¥15 有了解d3和topogram.js库的吗?有偿请教
  • ¥100 任意维数的K均值聚类
  • ¥15 stamps做sbas-insar,时序沉降图怎么画
  • ¥15 买了个传感器,根据商家发的代码和步骤使用但是代码报错了不会改,有没有人可以看看
  • ¥15 关于#Java#的问题,如何解决?
  • ¥15 加热介质是液体,换热器壳侧导热系数和总的导热系数怎么算
  • ¥100 嵌入式系统基于PIC16F882和热敏电阻的数字温度计
  • ¥15 cmd cl 0x000007b
  • ¥20 BAPI_PR_CHANGE how to add account assignment information for service line