$this->db->select('*');
$this->db->from('TableA AS A');// I use aliasing make joins easier
$this->db->join('TableC AS C', 'A.ID = C.TableAId', 'INNER');
$this->db->join('TableB AS B', 'B.ID = C.TableBId', 'INNER');
$result = $this->db->get();
Функция соединения работает так:
объединение ('TableName', 'ON условие', 'Тип объединения');
Эквивалентный sql:
SELECT *
FROM TableA AS A
INNER JOIN TableC AS C
ON C.TableAId = A.ID
INNER JOIN TableB AS B
ON B.ID = C.ID
Я обнаружил, что сначала написание SQL-кода, его тестирование, а затем преобразование в стиль активной записи сводит к минимуму ошибку.