メソッドを使用してテーブルをデータで更新したい場合Zend_Db_Table->update()
、「where」句でバインド変数を使用する方法が見つかりません。
メソッドのシグネチャは次のとおりです。
int update($data, array|string $where)
通常、次のようにメソッドを呼び出します。
$table = new Bugs();
$data = array(
'updated_on' => '2007-03-23',
'bug_status' => 'FIXED'
);
$where = $table->getAdapter()->quoteInto('bug_id = ?', 1234);
$table->update($data, $where);
quoteInto
変数をバインドするのではなく、変数をエスケープするだけです。
バインド変数を使用する方法が必要です。そうしないと、DBMS はこのクエリを効果的にキャッシュできません。
何か不足していますか、それとも Zend 側の見落としですか?