gpt4 book ai didi

php - 对多个值进行排序 MYSQL Laravel

转载 作者:行者123 更新时间:2023-11-29 23:28:48 25 4
gpt4 key购买 nike

我目前正在开发一个项目,需要使用 MySQL 对集合进行排序,但我确实无法实现此功能。我有一张包含组件的表。组件属于培训。因此一个训练可以有多个组件。

我用结果制作了一个 HTML 表格,其中包含以下列:

  • 日期
  • 时间
  • 培训_id
  • 组件

我想要的是按以下方式对组件进行排序:- 日期,所有日期应按 ASC 排序- 时间,时间最早的组件需要在最上面- 组件,基于时间,组件需要通过相同的训练进行分组。

例如,包含以下组件的列表:

日期:2014年11月4日
时间:11:00
Training_id:1
组件:第一个组件

日期:2014年11月4日
时间:11:30
Training_id:2
组件:training_id 2 的第一个组件

日期:2014年11月4日
时间: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();

最佳答案

这可能对你有用 $data->orderBy("日期","asc") ->orderBy("时间","asc")

关于php - 对多个值进行排序 MYSQL Laravel,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26736862/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com