Salut @ tous !

J'ai ces 3 tables :
users contient les champs id , et user_name
groups contient les champs id , et description
users_groups contient les champs id , user_id , et group_id

Je voudrais récupérer users.id , users.username , groups.id , et users_groups.description
Mais je n'arrive pas à faire une jointure récupérant users_groups.description en fonction du groups.id de chaque membre

Voici ou j'en suis :

$this->db->select('users.id, users.username, users_groups.group_id');
$this->db->join('users_groups', 'users.id = users_groups.user_id');
$query = $this->db->get('users');
if($query->num_rows() > 0)
    {
    foreach($query->result() as $row) return $row;
    }

Il faut maintenant faire un lien vers users_groups.description en fonction du groups.id correspondant au users_groups.group.id de chaque membre (j'espère que je suis clair :) ), et c'est la que je sèche.

Merci de m'aider...

2 réponses


lors de la jointure, les champs de table qui ont le meme nom exple: users.id et group.id se confondent donc donne leur des noms distincts et essaie a nouveau

Comme ceci:

$this->db->select('users.id, users.username, users_groups.group_id');
$this->db->from('users');
$this->db->join('users_groups', 'users.id = users_groups.user_id', 'INNER');
$this->db->join('groups', 'users_groups.group_id = groups.id', 'INNER');
$query = $this->db->get();
$data= $query->result_array();
print_r($data);