通过外键从其他外表中选择字段

时间:2014-02-13 10:07:59

标签: php sql codeigniter mysqli

我在我的网站上使用CodeIgniter,PHP和MySQL。

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

我读过我应该使用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个表的CodeIgniter。 ftp_settings和用户。我需要通过ftp_settings user_id外键在users表中的user_email字段。

我如何实现这一目标?

感谢您的帮助。

3 个答案:

答案 0 :(得分: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 :(得分: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

答案 2 :(得分: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();