Lio*_*ing 0 php mysql join codeigniter
创建查询时,我想要使用join两次,如下所示:
$this->db->select('*');
$this->db->from('members');
$this->db->join('members_group', 'members_group.mgid = members.mgid');
$this->db->join('members_profiles','members_profiles.mid = members.mid');
$this->db->where('members.mid=' . $id);
$this->db->get()
Run Code Online (Sandbox Code Playgroud)
join语句编号2中的问题,如果members_profiles表中没有数据,则查询返回空数组.但如果我删除join语句号2,结果将是正确的数据.
如何使 members_profiles 表包含与成员相关的数据,如何使查询返回数据?
Codeigniter允许在join()方法的第三个参数中指定变体连接类型.
试试这个:
$this->db->join('members_profiles','members_profiles.mid = members.mid', 'left');
Run Code Online (Sandbox Code Playgroud)
普通(内部)连接抑制第一个(左侧)表中与第二个(右侧)表不匹配的记录.左连接保留左侧与右侧记录不匹配的记录.它将NULL值放在结果集的列中,这些列应该来自缺少的右侧表.这完全符合你的要求.
| 归档时间: |
|
| 查看次数: |
485 次 |
| 最近记录: |