【问题标题】:MySQL join for CodeIgniterCodeIgniter 的 MySQL 连接
【发布时间】:2014-10-01 22:06:06
【问题描述】:

我有 2 张桌子。餐桌种类和餐桌生活。

在表格种类中,它有 id、kind_o 和 living_id,而在生活中它有 id 和类型。 示例数据。

KIND

id          kind_o         living_id
1           dog            1
2           narra          2

LIVING

id          type
1           animal
2           tree

如果我想返回 ex,如何在 CodeIgniter 中查询。 SELECT * kind WHERE id = 1 我也想返回活表中的所有数据?

示例输出:

id   kind_o   living_id    living.id    type
1    dog      1            1            animal
                           2            tree

【问题讨论】:

    标签: php mysql sql codeigniter activerecord


    【解决方案1】:

    试试看:

        $this->db->select('k.*,l.type');
        $this->db->from('kind as k');
        $this->db->join('living as l','l.id = k.living_id');
        $this->db->where('l.id','1');//use Kind id Here you want to use.
        $query = $this->db->get();
        $this->db->last_query();
        return $query->result_array(); 
    

    Document

    【讨论】:

    • 为什么我在这里使用l.id?当我使用WHERE 时是那种ID?
    • 因为你必须告诉mysql两个表之间的公共字段是什么,它是l.id,所以我没有在结果中检索它。
    【解决方案2】:

    选择k.id作为kind_id,k.kind_o,k.living_id,l.id作为living_id,l.type FROM kind k join living l on (k.living_id=l.id);

    总是喜欢选择逗号分隔的字段,然后使用 select *。 与选择所有必需字段的查询相比,选择 * 通常需要时间。

    【讨论】:

      猜你喜欢
      • 2013-08-04
      • 2019-06-30
      • 2014-02-02
      • 2018-01-15
      • 2011-12-26
      • 1970-01-01
      • 2018-06-23
      • 2015-04-04
      • 2018-06-10
      相关资源
      最近更新 更多