繁体   English   中英

当一个表中没有记录时,记录不显示

[英]Records are not displaying when there is no records in one of the table

我正在使用Join查询从正在运行的多个表中获取数据。

现在我的问题是,当表之一(tbl_Fees或membership_details)中没有记录时,则无法获取记录。 有时我会出错。 应该至少显示我的members记录。

我尝试下面的代码

模型

public function Memberinfo(){
   $getDetails = array('members.member_id'=>$this->session->userdata['login_session']['id'],'members.is_status'=>1);
   $result = $this->db->where($getDetails)
                      ->select('*')
                      ->from('members')
                      ->join('membership_details', 'members.member_id = membership_details.member_id','LEFT')
                      ->join('tbl_Fees', 'membership_details.Fees_id = tbl_Fees.Fees_id')
                      ->get()
                      ->row();
                return $result;

        } 

您能帮我这个忙吗?

正如评论者所指出的,这是因为您指定了联接。 默认情况下,使用JOIN将使用内部JOIN -因此为什么未获得所需的结果。

以下是SQL中可用的JOIN的不同类型:

(INNER)JOIN: 返回两个表中具有匹配值的记录

左(外)联接: 从左表返回所有记录,并从右表返回匹配的记录

右(外)联接: 从右表返回所有记录,并从左表返回匹配的记录

FULL(OUTER)JOIN: 当左表或右表中存在匹配项时,返回所有记录

作为参考,请参见下面的图像,这些图像可以帮助您更轻松地可视化联接。

INNER JOIN的示例 左联接示例 RIGHT JOIN的示例

最后,您可能正在寻找的联接:

INNER JOIN的示例

这应该是足以使您更正代码的信息。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM