繁体   English   中英

左联接不返回左表codeigniter的所有行

[英]Left join not returning all the rows from the left table codeigniter

在发布之前实际上发现了很多这样的问题,但是没有找到与“ Codeigniter”相关的问题,所以我不知道如何用codeigniter来实现这些答案。

我的meta_key

key_id | key_name | key_parent
------------------------------
.....1..firstname........1

.....2..lastname.........1

我的users_meta

meta_id | meta_user_id | meta_key_id |meta_value |
--------------------------------------------------
1.........1..............1............chuck......

当我运行此查询

$this->db->select("*");
    $this->db->from("meta_key");
    $this->db->join("users_meta", "users_meta.meta_key_id=meta_key.key_id","left");
    $this->db->where('users_meta.meta_user_id', '1');
    $query=$this->db->get();
    return $query;

它总是返回我单行(即名行)

我尝试使用codeigniter参考页面中的每个选项(选项分别为:left,right,external,inner,internal,left external和right external),而不是“ left”联接,但它仍返回单行。

如何使它也返回“姓氏”行?

正如您所评论的,以下代码对您有效,因此在此作为答案

//just guess and try 
$this->db->where('users_meta.meta_user_id = 1 OR users_meta.meta_key_id IS NULL');

暂无
暂无

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

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