На самом деле есть несколько способов написания запросов в Codeigniter, следующий синтаксис является наиболее понятным с моей точки зрения, если вы только начинаете писать запросы, используя эту платформу.
См. Класс построителя запросов
$this->db->select('*');
$this->db->from('courtrooms');
$this->db->join('reservations','courtrooms.id = reservations.courtroom_id','left');
$this->db->where('reservations.id IS NULL', null, false);
$this->db->where('reservations.date', $date);
$this->db->where('reservations.time_start<', $time_start);
$this->db->where('reservations.time_end>', $time_end);
$query = $this->db->get();
$query = $query->result();
Код выше такой же, как этот:
$query = $this->db->join('reservations','courtrooms.id = reservations.courtroom_id','left')
->where('reservations.id IS NULL', null, false)
->where('reservations.date', $date)
->where('reservations.time_start<', $time_start)
->where('reservations.time_end>', $time_end)
->get('courtrooms');
$query = $query->result();