Zend Framework - 根本没有更新()

时间:2013-11-12 10:47:44

标签: zend-framework sql-update zend-db-table

我只想更新一个text类型的列并将其设置为空,但Apache错误日志说: PHP Catchable致命错误:参数2传递给Zend_Db_Adapter_Abstract :: update(),这里是代码:

public function setDbTable($dbTable) {
    if (is_string($dbTable)) {
        $dbTable = new $dbTable();
    }
    if (!$dbTable instanceof Zend_Db_Table_Abstract) {
        throw new Exception('Invalid table data gateway provided');
    }
    $this->_dbTable = $dbTable;
    return $this;
}

public function getDbTable() {
    if (null === $this->_dbTable) {
        $this->setDbTable('Application_Model_DbTable_Blog');
    }
    return $this->_dbTable;
}

public function removeFilename($imageId){
    $data = array('filename' => '');
    $where = $this->getDbTable()->getAdapter()->quoteInto('imageid = ?', $imageId);
    $this->getDbTable()->getAdapter()->update($data,$where);
}

我尝试了什么,但没有更新。还有这段代码:

$this->getDbTable()->getAdapter()->update(array('filename' => '',array('imageid = ?' => $imageId);

但是这会引发一个执行。可能是什么问题呢?欢迎任何帮助。

1 个答案:

答案 0 :(得分:0)

使用Zend_Db_Table_Abstract :: update(),而不是Zend_Db_Adapter_Abstract :: update():

$this->getDbTable()->update($data,$where);