2012-11-12 113 views
1

實際上在發佈之前發現了很多像這樣的問題,但沒有找到與「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; 

,它總是返回我的單排(也就是firstnam e行)

而不是「左」連接我試着從codeigniter引用頁面的每一個選項(選項是:左,右,外部,內部,左外部和右外部),但它仍然返回單行。

我怎樣才能讓它返回「姓氏」行?

+2

我猜這不是關於你的左邊加入,但你的where子句。 –

+0

@FlorianF。我還應該如何使用where子句? – cjmling

+2

只是猜測並嘗試'$ this-> db-> where('users_meta.meta_user_id = 1 OR users_meta.meta_key_id IS NULL');' – GBD

回答

1

當你評論說,下面的代碼爲你工作所以這裏是答案

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