我目前正在开发一个项目,我需要使用MySQL对一个集合进行排序,但是我实际上无法实现这个工作。我有一个组件表。组件属于培训。所以培训可以有多个组件。在多个值上排序MYSQL Laravel
我做了一个HTML表格的结果,有以下栏目:
- 日期
- 时间
- Training_id
- 组件
我想要什么,是排序组件通过: - 日期,所有日期应排序ASC - 时间,组件最早的时间需要排在最前面 - 基于时间的组件,组件需要通过相同的培训进行分组。
例如,具有这些组件的列表:
日期:2014年4月11日
时间:11:00
Training_id:1个
组件:第一部件
日期:4 -11-2014
时间:11:30
Training_id:2
组件:training_id的第一组件2
日期:2014年4月11日
时间:12:00
Training_id:1个
组件:第二组分
需要放置的顺序:第一组分,第二组分,第一组分training_id 2.这是因为基于时间的第一个组件是'第一个组件'。下一步是,此培训的所有组件都将按“第一个组件”(也是基于时间)进行排序。之后接下来的训练就来了。
有没有人有一个线索,我真的想不通这一个..
这是ORDER_BY功能我到目前为止:
$result = Components::ofType('Training')
->select('components.*')
->join('trainings', 'trainings.id', '=', 'components.parent_id')
->groupBy('components.id')
->orderBy('component_start_date')
->orderBy('parent_id')
->orderBy('from')
->get();
我更新了我的问题 – user1393817 2014-11-05 08:01:08