我目前正在開發一個項目,我需要使用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