Я пытаюсь сделать Объединение между тремя таблицами, в которых в одной таблице не может быть информации для объединения.
Это мои таблицы:
Встречи
человек
Спутники
- id
- meeting_id
- имя
- фамилия
Теперь я хочу восстановить информацию, где Meetings.docent_id = Persons.id (и это нормально), я также хочу восстановить информацию, где Meetings.id = Companions.meeting_id, и если я добавляю это условие, я получаю сообщение об ошибке.
Проблема в том, что последнее условие присутствует не всегда, потому что пользователь может решить, хочет ли он компаньона или нет (так в случае, если он не хочет этого, они не записываются в таблицу Companions), поэтому может случиться так, что некоторые Meetings.id не имеют соответствия в Companions.meeting_id.
Я пробовал код наподобие:
$query = $this->db->select('Meetings.*, Persons.name, Persons.surname, Companions.*')
->from('Meetings')
->join('Companions', 'Meetings.id = Companions.meeting_id', 'LEFT')
->join('Persons', 'Meetings.docent_id = Persons.id', 'INNER')
->where('delete_date is null')
//....
И он возвращает мне 500 ошибок, я думаю, потому что на некоторых встречах нет компаньонов. Как мне сделать так, чтобы получить все встречи и если есть товарищи, показать их?
Спасибо.