【问题标题】:Adding table prefix to join in Codeigniter添加表前缀以加入 Codeigniter
【发布时间】:2013-04-07 22:23:00
【问题描述】:

我有 Codeigniter 设置以将前缀 kms_ 添加到我的活动记录查询中。但是,我正在尝试使用两个 ON 条件进行连接,但它不会预先设置它们。

现在我必须像这样手动添加它们:

$this->db->join('site_items', 'kms_site_items.item_id = kms_items.id AND kms_site_items.site_id = 1', 'left');

我可以用不同的方式写这个,以便正确添加表前缀吗?

有没有办法让这样的事情起作用:

$this->db->join('site_items', 'site_items.item_id = items.id AND site_items.site_id = 1', 'left');

【问题讨论】:

    标签: php codeigniter


    【解决方案1】:

    您可以像这样简单地添加Prefix 表名:
    例如,您的表以 myPrefix_ 作为前缀,其中一个可能是 myprefix_user
    之后在本页底部的config/database.php 中设置database nameusernamepassword,您可以看到dbprefix,您可以按照我上面提到的myPrefix_ 设置前缀。 最后,您可以简单地调用您的表名,例如 $this->db->get('user') 并自动 Codeigniter 将您的前缀设置在它的第一个。

    【讨论】:

      【解决方案2】:

      您可以像这样手动获取当前数据库前缀:

      $prefixed_tablename = $this->db->dbprefix('tablename');
      

      所以你可以这样做:

      $this->db->join('site_items', $this->db->dbprefix('site_items') . '.item_id = ' . $this->db->dbprefix('items') . '.id AND ' . $this->db->dbprefix('site_items') . '.site_id = 1', 'left');
      

      Docs Here

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2020-06-15
        • 2019-09-29
        • 2017-04-20
        • 2017-06-09
        • 2013-07-05
        • 1970-01-01
        相关资源
        最近更新 更多