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

标签 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 语句是什么)。我是否必须为此编写自己的自定义基数排序?或者有更好的方法吗?

谢谢。

最佳答案

我想你必须先使用quarter_year,像这样:

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

关于mysql - Laravel 5.1 - 按两列排序未按预期工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34602229/

相关文章:

php - 如何维护一页中所有字段的审计日志

mysql - 我应该如何使用 MySQL 构建我的设置表?

mysql - 挣扎于 sql 查询连接

mysql - 是MySQL命令$myconnection->disconnect();在 Perl 中需要

php - 如何从对象获取属性(PHP)

javascript - 使用 Laravel 4+ 从 jQuery/ajax 保存序列化可排序数据

php - 如何在 laravel 中删除问号形式的 url

php - Laravel 5 实例化一个新的请求验证

php - MySQL/PHP 登录错误

php - composer update failed 您的要求无法解析为一组可安装的软件包