2012-05-01 3 views
0

私は多くの機会にZend_Db_Table更新を使用しましたが、今回は問題が発生しています。なぜ私が間違っているのか教えてください。Zend Dbテーブルの更新で「?」が追加されました。更新値の代わりに

$where = $directory->getAdapter()->quoteInto('id = ?', $id); 

$total_votes = array('total_votes' => '(total_votes + 1)'); 

$directory->update($total_votes, $where); 

/// $directory is a db table variable. 

データベース内の値が更新されていません。私は、プロファイラを使用してクエリを印刷:

**UPDATE dealers_directory SET `total_votes` = ? WHERE (`id` = 3)** 

それが追加している理由私は得ていないのです「?」 (total_votes + 1)の代わりに。私は同じアプリケーションの場所のカップルでそれを使用して、それはうまくいっているが、私はここで何が問題かわからない。

ありがとうございました。

+1

このセクションと正しく動作している他のセクションとの間で、この方法をどのように使用しているかを慎重に比較しましたか?この種の慎重な比較は、私がセクション間で行った微妙な間違いに気づくのに役立ちます。 – Raceimaztion

答えて

0

new Zend_Db_Expr('(total_votes + 1)')を使用してください。

+0

答えをありがとう。それは今働いている。私は単純な値、すなわち2を試してみたのですが、それはなぜそうだったのですか? 2の代わりに –

+0

残念ながら、いいえ - Zendの私の経験はかなり限られており、私は正当な理由を考えることができません。それはあなたが気づいたような気がします。 – DCoder

+0

お時間をありがとう。 –

関連する問題