gpt4 book ai didi

php - 使用连接语句,但如果表为空

转载 作者:行者123 更新时间:2023-12-01 00:40:34 24 4
gpt4 key购买 nike

当创建一个查询时,我想使用 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()

join 语句 2 中的问题,如果 members_profiles 表中没有数据,则查询返回空数组。但是如果我删除 join 语句 2,结果将是正确的数据。

无论 members_profiles 表是否包含与成员相关的数据,我如何才能使查询返回数据?

最佳答案

Codeigniter 允许在 join() 方法的第三个参数中指定变体连接类型。

试试这个:

 $this->db->join('members_profiles','members_profiles.mid = members.mid', 'left');

普通(内部)联接会抑制第一个(左侧)表中与第二个(右侧)表不匹配的记录。左联接保留与右侧记录不匹配的左侧记录。它将 NULL 值放置在结果集的列中,这些列应该来自丢失的右侧表。这正是您想要的。

关于php - 使用连接语句,但如果表为空,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33556467/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com