尝试在codeigniter活动记录中追加(添加)小时列

时间:2013-10-08 10:58:42

标签: php mysql codeigniter activerecord

我正在尝试在数据库中存储工作时间。因此,当他们结帐时连续几小时被添加到当天我的活动记录查询不会工作吗?

以下是我在模型课中所做的事情。

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'

如何正确地做到这一点?

2 个答案:

答案 0 :(得分: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'); 
}

答案 1 :(得分: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'); 
 }