Cizí klíč poskytuje odkaz na jiný záznam ve stejné nebo jiné tabulce (obvykle druhé). Spojení používá společná data ve dvou tabulkách (někdy téže tabulce), aby mezi nimi poskytlo spojení.
Pokud máte dvě tabulky, které chcete spojit, a jediný společný faktor mezi těmito dvěma tabulkami je ve třetí tabulce (ta se všemi cizími klíči), budete muset provést 2 spojení.
Příklad
SELECT *.table1, *.table2 FROM table1
LEFT JOIN foreign_key_table ON foreign_key_table.id1 = table1.id
LEFT JOIN table2 ON foreign_key_table.id2 = table2.id
WHERE.....
V Codeignter:
$this->db->select('*.table1, *.table2');
$this->db->from('table1');
$this->db->join('foreign_key_table', 'foreign_key_table.id1 = table1.id');
$this->db->join('table2', 'foreign_key_table.id2 = table2.id');
$this->db->where('...');
Všechny informace, které potřebujete, najdete zde - http://codeigniter.com/user_guide/database /active_record.html
Doufám, že to pomůže.