0

我正在尝试将工作人员的小时数存储在数据库中。这样,当他们结帐时,我的活动记录查询不会工作的那一天会连续添加几个小时?

这是我在模型课上所做的。

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@yahoo.com' AND     `date` = '2013-10-08'

如何正确地做到这一点?

4

2 回答 2

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'); 
}
于 2016-12-21T10:29:53.960 回答
0

您应该先阅读小时数,然后将其添加 $hours

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'); 
 }
于 2013-10-08T11:09:18.910 回答