0

在文档中

由于表 update() 方法代理数据库适配器 update() 方法,因此第二个参数可以是 SQL 表达式数组。表达式使用 AND 运算符组合为布尔项。注意:SQL 表达式中的值和标识符没有为您引用。如果您有需要引用的值或标识符,则您有责任这样做。使用数据库适配器的 quote()、quoteInto() 和 quoteIdentifier() 方法。

但是当我检查源更新方法时,我看到了一些奇怪的东西(方法链执行):

  • Zend_Db_Table_Abstract::update()
  • Zend_Db_Adapter_Abstract::update()
  • Zend_Db_Adapter_Abstract::_whereExpr()
  • Zend_Db_Adapter_Abstract::quoteInto()

在 Zend_Db_Adapter_Abstract::quoteInto() 中有引用。有人可以解释一下吗?也许文档已经过时?

4

1 回答 1

0

引用的值,文档中的注释是指您传入的 WHERE 子句,您需要自己引用。典型用法是:

$table->update(array(
    'name' => $name, // this gets quoted
    'email' => $email // as does this
), $db->quoteInto('id = ?', $id));
于 2013-03-14T10:36:43.440 回答