2013-10-08 32 views
0

我想爲數據庫中的工作人員存儲小時數。所以,當他們結帳連續幾個小時被添加到我的活動記錄查詢不會工作的日子?試圖在codeigniter活動記錄中追加(添加到)小時列

這是我在模型類中做的事情。

function update_daily_row($email,$date,$hours)//update existing row. 
{ 

     $this->db->where('email', $email); 
     $this->db->where('date', $date); 
     $this->db->set('hours', 'hours + $hours', FALSE); 
     $this->db->update('dailyinfo'); 
} 

查詢出來這樣所以它不看變量

UPDATE `tablename` SET `hours` = hours + $hours WHERE `email` = '[email protected]' AND  `date` = '2013-10-08' 

如何正確地做到這一點的時間?

回答

0

你應該讀出的第一個小時,然後將其添加$小時

function update_daily_row($email,$date,$hours)//update existing row. 
{ 

     $this->db->where('email', $email); 
     $this->db->where('date', $date); 

     $origin_hours = $this->db->get('dailyinfo')->first_row()->hours; 
     $update_hours = $original_hour + $hours; 

     $this->db->set('hours', $update_hours, FALSE); 
     $this->db->update('dailyinfo'); 
} 
+0

是的,這似乎更符合邏輯的我! – eoin

+0

如果它解決了你的問題,請接受它作爲答案,謝謝! – Charles0429

+0

耶沒問題! – eoin

1

試試這個代碼:

function update_daily_row($email,$date,$hours)//update existing row. 
{ 
     $this->db->where('email', $email); 
     $this->db->where('date', $date); 
     $this->db->set('hours', 'hours + '. $hours, FALSE); 
     $this->db->update('dailyinfo'); 
} 
+0

請給你的答案補充一些補充。只顯示代碼可能會造成混淆。 –

+0

這比接受的答案要好 - 在更新之前,您不必加載該字段 – jabko87