【问题标题】:updating a record mysql with zend framework 2使用 zend 框架 2 更新记录 mysql
【发布时间】:2014-07-09 09:26:04
【问题描述】:

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

        } 

我没有看到问题。 如果有人可以帮助我,我将不胜感激。

【问题讨论】:

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


    【解决方案1】:

    试试-

    $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)
    );
    

    【讨论】:

    • 谢谢!但是现在我的问题是我只能更新 2 次然后它就停止工作了。我不知道这是否与代码或我的数据库有关。但再次感谢您!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-09-08
    • 2018-04-19
    • 1970-01-01
    • 2016-11-13
    • 1970-01-01
    • 2014-03-28
    • 1970-01-01
    相关资源
    最近更新 更多