按创建订单排序,不使用Eloquent模型

时间:2017-07-04 07:26:20

标签: laravel eloquent sql-order-by laravel-5.3 laravel-eloquent

在使用Eloquent Models时尝试按created_at列排序记录时遇到一些问题。订购的工作时间为日期,但不是时间。示例如果我有3条带有created_at值的记录:

  • 2017-07-04 07:16:33
  • 2017-07-04 05:35:01
  • 2017-07-04 05:27:48

    使用orderby('created_at','desc')或'asc'时输出相同。但是,如果我有例如

  • ,则订购有效
  • 2017-07-04 05:27:48

  • 2017-07-03 06:35:50

当我使用原始查询时,订购也起作用。只有在我使用Eloquent Model时才会出现此问题。

有谁知道为什么会这样?提前致谢

2 个答案:

答案 0 :(得分:1)

哦,这是我的坏事!我解决了这个问题,在获取数据时在服务器端没有问题,但在客户端,因为我使用了' dataTables'

答案 1 :(得分:0)

不确定您使用的是什么版本的Laravel。但最好将php中的datetime值转换为Carbon类型进行排序和过滤。请先尝试转换值,然后再进行排序。祝你的代码好运。

此致

Andy Ba