2014-02-13 139 views
0

我在我的网站中使用CodeIgniter,PHP和MySQL。通过外键从其他外表中选择字段

我有一个包含2个表的数据库。 A ftp_settings表和users表。 在我的ftp_settings中有一个字段user_id,它是users表中user_id字段的外键。我试图通过ftp_settingsuser_id字段从用户表中获取user_email字段。

我读过我应该使用SQL JOIN语句来实现这一点,但是我的代码不断产生错误。

请注意我对SQL,PHP和CodeIgniter相当陌生。

可视化表示: Database structure

我当前的代码:

  $this->db->select('ftp_settings.user_id'); 
      $this->db->from('ftp_settings'); 
      $this->db->join('users','ftp_settings.user_id = users.user_id', 'left'); 
      $query = $this->db->get(); 

TL; DR: 我使用,使用2台笨。 ftp_settings和用户。我需要通过ftp_settings user_id外键在users表中的user_email字段。

我该如何做到这一点?

感谢您的帮助提前。

+0

你会得到什么错误?看到它们可能会有所帮助。 – Newbi3

回答

1

您加入看起来很完美,但只选择了user_ID的,你还需要选择电子邮件字段

$this->db->select('ftp_settings.user_id , users.user_email'); 
$this->db->from('ftp_settings'); 
$this->db->join('users','ftp_settings.user_id = users.user_id', 'left'); 
$query = $this->db->get(); 

Have a look at Active Record

1

我不使用CodeIgniter的工作,但我认为这应该工作

$this->db->select('ftp_settings.user_id, users.user_email'); 
$this->db->from('ftp_settings'); 
$this->db->join('users','ftp_settings.user_id = users.user_id', 'left'); 
$query = $this->db->get(); 
1
 $this->db->select('users.user_email'); 
     $this->db->from('ftp_settings'); 
     $this->db->join('users','ftp_settings.user_id = users.user_id', 'left'); 
     $query = $this->db->get(); 
相关问题