我想更新一条记录,在我的情况下,记录名称是kindOfFood_vote
我还不太了解如何更新特定记录。 我是这样做的,但它没有用,所以我认为这是错误的。
首先创建了一个可变数据,我存储它:
$data = array(
'kindOfFood_name' => $food->kindOfFood_name,
'kindOfFood_votes' => $food->kindOfFood_votes += 1,
);
插入查询工作正常,但也许这行代码可能有问题: ' kindOfFood_votes' => $ food-> 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 :(得分: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)
);