【问题标题】:Selecting field from other foreign table via foreign key通过外键从其他外部表中选择字段
【发布时间】:2014-02-13 10:07:58
【问题描述】:

我在我的网站中使用 CodeIgniter、PHP 和 MySQL。

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

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

请注意,我对 SQL、PHP 和 CodeIgniter 还很陌生。

视觉表现:

我当前的代码:

            $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 字段。

我怎样才能做到这一点?

提前感谢您的帮助。

【问题讨论】:

  • 您遇到了什么错误?看到它们可能会有所帮助。

标签: php sql codeigniter mysqli


【解决方案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】:

    我不使用 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();
    

    【讨论】:

      【解决方案3】:
              $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();
      

      【讨论】:

        猜你喜欢
        • 2021-12-02
        • 2011-03-14
        • 2017-10-09
        • 2016-06-18
        • 1970-01-01
        • 1970-01-01
        • 2018-12-13
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多