我在我的模型的更新功能這是我從我的控制器調用的笨查詢生成器更新功能
if($_POST)
{
$this->User_model->update('user_about',$_POST,$this->session->userdata['id']);
}
有三個參數,表名,POST數據和用戶ID。該功能在模型中定義爲
public function update($table,$data,$id)
{
$row=$this->db->select('*')->from($table)->WHERE('user_id',$id)->row();
if($row)
{
$this->db->WHERE('user_id',$id)->UPDATE($table,$data);
}
else
{
$data['user_id']=$id;
$this->db->insert($table,$data);
}
}
如果特定用戶的記錄不存在應插入什麼,我這裏做的是檢查,否則更新。工程就像一個魅力
問題
有沒有辦法跳過IF條件塊?查詢生成器中是否有任何條款自行執行檢查?
只能用mysql,你可以使用'INSERT .. ON DUPLICATE KEY UPDATE',但codeigniter不支持這樣的查詢。自己寫查詢。或者擴展查詢生成器類並添加寫這樣的方法 – splash58
@ splash58這就是做什麼和它的工作。只是想詢問是否有其他人遇到了這個問題,並有相同的想法。 –