在Laravel中,从两个表连接的select中排序数据


Sorting data in Laravel from a select with two table joins

我有一个这样的数据库设置:

events
- id
- schedule_type (0 = single, 1 = recurring)
- title
schedule (for single events)
- id
- event_id
- date
schedule_recurring (for recurring events)
- id
- event_id
- date

我的查询是这样的:

DB::table('events')
    ->left_join('schedule', 'events.id', '=', 'schedule.event_id')
    ->left_join('schedule_recurring', 'events.id', '=', 'schedule_recurring.event_id')
    ->order_by('schedule.date', 'asc')
    ->order_by('schedule_recurring.date', 'asc')
    ->get();

不显示schedule字段的日期字段,只显示schedule_recurring字段的日期字段。来自数据库的数据中的日期字段设置为NULL。我不知道我的查询哪里出错了

可以创建一个视图作为scheduleschedule_recurring的并集吗?一旦你这样做,你只需要连接到视图,大大简化了事情。