0

テキスト型の列を更新して空に設定したいだけですが、Apache エラー ログには次ように表示されます。

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

しかし、これは例外をスローします。何が問題なのですか?どんな助けでも大歓迎です。

4

1 に答える 1

0

Zend_Db_Adapter_Abstract::update() ではなく、Zend_Db_Table_Abstract::update() を使用します。

$this->getDbTable()->update($data,$where);
于 2013-11-12T11:00:56.643 に答える