【问题标题】:Join the table with one of the same field (codeigniter)加入具有相同字段之一的表(codeigniter)
【发布时间】:2016-06-03 00:42:31
【问题描述】:
给定以下表格定义:
表一:pbk
ID, GroupID, name, nohp
表 2:pbk_groups
ID, name
我想选择pbk 表中的所有字段,以及pbk_groups 表中的name 字段。但是,pbk 表中的字段name 和pbk_groups 有相似之处。
如何编写脚本以使用 codeigniter 将表连接到控制器、模型和视图中?
【问题讨论】:
标签:
codeigniter
activerecord
jointable
【解决方案1】:
SELECT pbk.*, pbk_groups.name as name
FROM pbk
LEFT JOIN pbk_groups
ON pbk_groups.id=pbk.pbk_group_id
您可以覆盖名称值,例如pbk_groups.name as name,或者您可以将其设置为另一个变量,这样您就可以获得两个名称 `pbk_groups.name 作为组名。
$this->db->select ( 'pbk.*,pbk_groups.name as name' );
$this->db->from ( 'pbk' );
$this->db->join ( "pbk_groups", "pbk_groups.id=pbk.pbk_group_id", "LEFT" );
$query = $this->db->get ();
【解决方案2】:
$this->db->select('*');
$this->db->from('pbk');
$this->db->join('pbk_groups', 'pbk_groups.name= pbk.name');
$query = $this->db->get();
您可以在模型或控制器中编写此查询。如果您在模型中编写此查询,则返回查询结果
return $query->result_array();