私は新しいpropelですが、完全な読み取り更新書き込みサイクルを行うことなく、MySQLデータベースの値をインクリメントする方法を探しています。私が行うことができます。もちろん、Propelを使用したデータベースのインクリメント値
UPDATE books SET popularity = popularity + 1 WHERE id = 123
:
$book = new BookQuery::create()->findPk(123);
$book->setPopularity($book->getPopularity() + 1);
$book->save();
しかし、それは2つのクエリ(SELECTとUPDATE)につながるこのような。
Propelでこれを行うためのきれいな方法はありますか?
propelで直接SQLを実行できます。それ以外の場合は、create() - > filterBy() - > update()の組み合わせを使用して必要な処理を実行できます。 – versalle88
私はPropelでSQLをまっすぐにすることができますが、Propelでこれを解決する方法を理解したいと思っています。また、私がupdate()を使用する場合、構文を変更して値を増やすのはどうでしょうか? –