2014-07-09 25 views
0

我要更新記錄,在我的情況下記錄的名字是kindOfFood_vote更新與Zend框架的紀錄mysql的2

我不太明白,但如何更新特定的記錄。 我是這樣做的,但它不起作用,所以我認爲它是錯誤的。

首先提出在那裏我保存它的變量數據:

$data = array(
      'kindOfFood_name' => $food->kindOfFood_name, 
      'kindOfFood_votes' => $food->kindOfFood_votes += 1, 
); 

插入查詢工作正常,但也許可以有一些錯誤這行代碼: 「kindOfFood_votes」 => $食品 - > kindOfFood_votes + = 1,

這是我被插入或更新:

if ($id == 0) { 
      if ($rowset->count() > 0) { 
       $this->tableGateway->update($data,array('kindOfFood_name' => $kindOfFood_name)); 
      }else{ 
       $this->tableGateway->insert($data); 
      } 

     } 

我看不到的問題。 如果有人能幫助我,我將非常感激。

回答

0

嘗試 -

$data = array(
     'kindOfFood_name' => $food->kindOfFood_name, 
     'kindOfFood_votes' => new \Zend\Db\Sql\Expression('kindOfFood_votes + 1'), 
); 

對於單記錄本會工作 -

$this->tableGateway->update(
    array(
     'kindOfFood_votes' => new \Zend\Db\Sql\Expression('kindOfFood_votes + 1') 
    ),  
    array('kindOfFood_name' => $kindOfFood_name) 
); 
+0

謝謝!但現在我遇到了問題,我只能更新2次,然後停止工作。我不知道這是否與代碼或我的數據庫有關。但是再次感謝你! – KimberlyGS