使用zend framework 2更新记录mysql

时间:2014-07-09 09:26:05

标签: mysql sql zend-framework frameworks zend-framework2

我想更新一条记录,在我的情况下,记录名称是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);
            }

        } 

我没有看到问题所在。 如果有人能帮助我,我将非常感激。

1 个答案:

答案 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)
);