如何在codeigniter中使用JOIN显示两个表的结果?

时间:2016-01-24 04:46:16

标签: php mysql database codeigniter

所以我有3个表将用于解决这个问题。

表名:用户

列:USER_ID(INT& PRIMARY KEY),USER_EMAIL(VARCHAR)

表名:团队

列:TEAM_ID(INT& PRIMARY KEY),TEAM_NAME(VARCHAR)

表名: user_teams

列:USER_TEAM_ID(INT&amp; PRIMARY KEY),USER_ID(来自用户的INT&amp; FOREIGN KEY ),TEAM_ID(来自团队的INT&amp; FOREIGN KEY )< / p>

我正在尝试显示团队中的每个人的电子邮件或USER_EMAIL。

例如:

第1队

具有USER_IDs 6和8的用户在团队中

TEAM_ID:1

我想回应用户与第1组上的USER_ID相关联的电子邮件。

我觉得我必须使用JOIN来实现这一点,但我不确定如何使用codeigniter来实现它。

感谢任何帮助,谢谢。

1 个答案:

答案 0 :(得分:1)

这实际上非常简单。在你的模型中,

$this->db->select('users.USER_EMAIL')
->from('users')
->join('user_teams', 'users.USER_ID = user_teams.USER_ID')
->join('teams', 'teams.TEAM_ID = user_teams.TEAM_ID')
->where('teams.TEAM_ID', $teamID); //In your case 1 here
$query = $this->db->get();
return $query->result_array();