Laravel SQL 查询午夜时间未显示
Laravel SQL query midnight time not showing
我正在做一个班次显示系统,它显示轮渡的班次。我的问题是,如果我不按顺序排列午夜时间,那么查询将跳过午夜时间并显示早晨
示例:-
如果我这样整理数据
- 1:30 我是
- 6:30 我是
- 上午 7:30
然后时间显示正确,但如果时间不正确
- 6:30 我是
- 上午 7:30
- 1:30 我是
然后查询跳过 1:30 am 并直接进入 6:30 显示。
这是我的 laravel SQL 查询:- 如果出发时间大于当前时间,则显示下一个可用时间
DB::table('ferries')->groupBy('ferry_name')
->whereTime('departure_time', '>', Carbon::now()->toTimeString())
->whereIn('schedule_type', ['Weekday'])
->where('terminal_name', $terminal_name)->get()->all();
结果集本质上是未排序的,您需要添加排序顺序
这将按升序排序 manual
DB::table('ferries')->groupBy('ferry_name')
->whereTime('departure_time', '>', Carbon::now()->toTimeString())
->whereIn('schedule_type', ['Weekday'])
->where('terminal_name',$terminal_name)->orderBy('departure_time')->get()->all()
使用 unique() 而不是 groupBy() 然后 orderBy 工作不知道为什么。
$posts = DB::table('ferries')->orderBy('departure_time', 'asc')
->where('departure_time', '>', Carbon::now()->toTimeString())
->whereIn('schedule_type', ['Weekday'])
->where('terminal_name', $terminal_name)->get()->unique('ferry_name')->all();
我正在做一个班次显示系统,它显示轮渡的班次。我的问题是,如果我不按顺序排列午夜时间,那么查询将跳过午夜时间并显示早晨
示例:-
如果我这样整理数据
- 1:30 我是
- 6:30 我是
- 上午 7:30
然后时间显示正确,但如果时间不正确
- 6:30 我是
- 上午 7:30
- 1:30 我是
然后查询跳过 1:30 am 并直接进入 6:30 显示。
这是我的 laravel SQL 查询:- 如果出发时间大于当前时间,则显示下一个可用时间
DB::table('ferries')->groupBy('ferry_name')
->whereTime('departure_time', '>', Carbon::now()->toTimeString())
->whereIn('schedule_type', ['Weekday'])
->where('terminal_name', $terminal_name)->get()->all();
结果集本质上是未排序的,您需要添加排序顺序
这将按升序排序 manual
DB::table('ferries')->groupBy('ferry_name')
->whereTime('departure_time', '>', Carbon::now()->toTimeString())
->whereIn('schedule_type', ['Weekday'])
->where('terminal_name',$terminal_name)->orderBy('departure_time')->get()->all()
使用 unique() 而不是 groupBy() 然后 orderBy 工作不知道为什么。
$posts = DB::table('ferries')->orderBy('departure_time', 'asc')
->where('departure_time', '>', Carbon::now()->toTimeString())
->whereIn('schedule_type', ['Weekday'])
->where('terminal_name', $terminal_name)->get()->unique('ferry_name')->all();