2013-08-01 6 views
0

J'ai 3 tables et je veux les rejoindre. Si ces trois ont un domaine similaire, ce serait facile. Le problème est que table1 et table2 ont un champ similaire, table2 et table3 ont un autre champ similaire, mais il n'y a pas du tout de champ similaire qui connecterait table1 et table3. J'ai essayé de les rejoindre en utilisant le code ci-dessous, mais cela ne fonctionne pas. Je suis une erreur que champ « branch_name » est indéfini:Rejoindre plus de 2 tables dans codeigniter sans champs communs

$this->db->select('r.*,       
         b.id as branch_id,       
         b.name as branch_name'); 
    $this->db->join('users_branches AS ub', 'ub.user_id = r.user_id'); 
    $this->db->join('branches AS b', 'b.id = ub.branch_id'); 

    $this->db->where('payroll_period_id',$payroll_period_id);   
    return $this->db->get('dtr r'); 

Y at-il une solution à cela?

Répondre

0

Essayez d'insérer $this->output->enable_profiler(TRUE) dans votre contrôleur pour voir le code SQL qui a été exécuté. Il est plus facile de résoudre ce problème. Je vais normalement copier le SQL qui a été exécuté et le dépanner dans le client MySQL pour voir ce qui s'est mal passé.

Questions connexes