左连接不返回左表codeigniter中的所有行

时间:2012-11-12 11:10:22

标签: php mysql 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引用页面尝试了每个选项(选项包括:左,右,外,内,左外和右外),而不是“左”连接,但仍然返回单行。

如何让它返回“姓”行?

1 个答案:

答案 0 :(得分:1)

正如您所评论的那样,以下代码适合您,所以这里就是答案

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