Laravel 5.1 - 按两列排序不按预期工作

时间:2016-01-05 00:13:27

标签: mysql laravel laravel-5 laravel-5.1

我有两列,quarter_number和quarter_year。 quarter_number列存储1到4之间的值,而quarter_year存储年份值。我想要对数据进行排序,例如:

ex: (quarter_number - quarter_year)
4 - 2015
3 - 2015
2 - 2015
1 - 2015
4 - 2014
3 - 2014
etc...

因此,这句话似乎有用:

$last_figures = QuarterData::where('company_id', '=', $company->id) ->orderBy('quarter_number')->orderBy('quarter_year')->get();

不幸的是,它似乎没有按预期工作(我认为它类似于基数排序)。它最终只是按年份排序(或者最后的orderBy语句是什么)。我是否必须为此编写自己的自定义基数排序?或者有更好的方法吗?

谢谢。

1 个答案:

答案 0 :(得分:16)

我认为你必须首先使用quarter_year,如下所示:

$last_figures = QuarterData::where('company_id', '=', $company->id)
       ->orderBy('quarter_year')->orderBy('quarter_number')->get();