0

の文書で

テーブルupdate()メソッドはデータベースアダプタのupdate()メソッドにプロキシするため、2番目の引数は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 に答える