2014-02-14 68 views
0

首先,我將展示我想要做的事情。使用代碼點火器更新只有一條記錄

我要檢查,如果用戶有多個紀錄:

WHERE 'from_user_id' == '$id' 

當查詢return > 0,我想只更新一個記錄where 'from_user_id' == '$id'

我不關心秩序,它可以是最後一個或第一記錄,但我只需更新一條記錄。

這裏是我的模型的一部分:

public function get_bonuses() { 
    if ($this->db->where('from_user_id', $this->user_id())->from($this->reff_table)->count_all_results()>0) { 
     $this->db->where('from_user_id', $this->user_id()); 
     $this->db->update($this->reff_table, array('used' => '1')); 
     return true; 
    } else 
     return false; 

} 

它工作正常,但我想只更新一個記錄:<

我希望有人能幫助我。 問候

-----編輯 解決 - 我很愚蠢的,但我需要從其他方面看,以我的代碼:) 這裏是工作代碼:

if ($this->db->where(array('from_user_id' =>$this->user_id(), 'used' => '0'))->from($this->reff_table)->count_all_results()>0) { $this->db->where(array('from_user_id' =>$this->user_id(), 'used' => '0'))->limit(1); $this->db->update($this->reff_table, array('used' => '1')); return true; 
+0

哈哈,我很愚蠢。 這裏是解決方案: – Jakon89

+0

if($ this-> db-> where(array('from_user_id'=> $ this-> user_id(),'used'=>'0')) - > from($ this-> (數組'from_user_id'=> $ this-> user_id(),'used'=>'0')) - > limit (1); $ this-> db-> update($ this-> reff_table,array('used'=>'1')); 返回true; – Jakon89

+0

您可以使用正確的查詢編輯您的文章 –

回答

0

如果你想要從結果中更新任何一條記錄,只需將您檢查的查詢數量限制爲1 &即可獲取其唯一標識(主鍵)並更新該行。