У меня есть две колонки, quarter_number и quarter_year. Столбец quarter_number сохраняет значение от 1 до 4, а quarter_year хранит значение года. Я хочу, чтобы данные были отсортированы как так, например:Laravel 5.1 - Заказ по двум столбцам не работает должным образом
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). Должен ли я просто запрограммировать свою собственную сортировку радикса для этого? Или есть лучший способ?
спасибо.
Это, кажется, было это. Интересно, почему это работает, а другое нет. – jrgilman
Я думаю, что вы действительно хотите - '$ last_figures = QuarterData :: где ('company_id', '=', $ company-> id) -> orderBy ('quarter_year', 'desc') -> orderBy (' quarter_number ',' desc) -> get(); 'который будет заказывать ваши данные в обратном порядке, т.е. 2015,2014,2013 и т. д. – dino
Также вам необходимо заказать «quarter_year» сначала, чтобы вы получили нужную вам группировку, то есть заказываете сначала год, а затем квартал, чтобы получить квартальные номера, сгруппированные по годам. – dino