【问题标题】:codeigniter join 3 tables and get data from 1st table where 1st table is linked with 2nd table and 2nd table is linked with 3rd tablecodeigniter 连接 3 个表并从第 1 个表中获取数据,其中第 1 个表与第 2 个表链接,第 2 个表与第 3 个表链接
【发布时间】:2017-09-06 03:24:18
【问题描述】:
user_table(user_id, user_name)
user_group_table(user_id, group_id)
group_table(group_id, group_name)
我需要检索数据(user_id, user_name, group_name)
如何在 CodeIgniter 中加入这些表?
【问题讨论】:
标签:
mysql
codeigniter
join
activerecord
codeigniter-3
【解决方案1】:
$this->db->query('SELECT user_table.user_id, user_table.user_name,
group_table.group_name
FROM
user_table
join user_group_table on user_group_table.user_id=user_table.user_id
join group_table on group_table.group_id=user_group_table.group_id')
->result_array();
返回它并打印/使用你喜欢的数组或者你可以使用 Codeigniter Query Builder Class
【解决方案2】:
$where = array(); //if u want to use any condition
$this->db->select('user_table.user_id, user_table.user_name, group_table.group_name');
$this->db->join('user_group_table', 'user_group_table.user_id = user_table.user_id');
$this->db->join('group_table', 'group_table.group_id = user_group_table.group_id');
$result = $this->db->order_by('user_table.user_id', 'desc')->get_where('property', $where)->result_array();
return $result
【解决方案3】:
$this->db->select('user_table.user_id,user_table.user_name,group_table.group_name');
$this->db->from('user_group_table');
$this->db->join('user_table', 'user_table.user_id = user_group_table.user_id');
$this->db->join('group_table', 'group_table.group_id = user_group_table.group_id');
$query = $this->db->get();
$res = $query->result();
return $res;