Zend框架 - 如果状态字段和id匹配,我如何更新行?

时间:2015-05-07 19:37:47

标签: php zend-framework

如果状态为NULL或已完成或notdone且id匹配,如何更新status ='ok'?

  $this->db->update('table1', 
                        array('status' => 'ok'), 
                        array('id=?' => 55));

1 个答案:

答案 0 :(得分:1)

为了进行比较,您不能将数组用于语句的where部分。相反,您应该使用Where类。

在.php文件的顶部添加以下内容:

    use Zend\Db\Sql\Where;

然后你现在使用数组你应该使用Where实例:

    $where = new Where();
    $where->equalTo('id', 55);
    $where->expression("( status IN('done','notdone') OR status IS NULL )", array() );
    $this->db->update('table1', 
                    array('status' => 'ok'), 
                    $where );