Laravel orderBy具有相同的值结果不断变化

时间:2016-02-02 10:51:51

标签: php laravel

我尝试在updated_at值内对结果进行排序。因为我为值赋值,所有updated_at值都相同:

//     Amount Table
-----------------------------------------------------
| id       |   amount           |  updated_at       |
+----------+--------------------+-------------------+
| 1        | 232319             |2016-02-02 13:17:29|  
| 2        | 232319             |2016-02-02 13:17:29|
| 3        | 100000             |2016-02-02 13:17:29|
| 4        | 231111             |2016-02-02 13:17:29|
| 5        | 12345              |2016-02-02 13:17:29|
+----------+--------------------+-------------------+

问题是我每次查询:

 $lists = Amount::orderBy('updated_at', 'DESC')->lists('id')->toArray();

我希望结果是这样的:[1,2,3,4,5]但是看起来结果有时是这样但有时[2,3,1,4,5]。它随机输出结果。

据我所知,是的,我可以在查询中添加另一个orderBy语句,但它不是默认它会按id排序吗?

由于

1 个答案:

答案 0 :(得分:0)

您只能通过updated_at进行排序,它们似乎都具有相同的值。如果您想要一致性,请包含第二列

$lists = Amount::orderBy('updated_at', 'DESC')->orderBy('id', 'ASC')->lists('id')->toArray();