Je suis nouveau à propulser, et je cherche un moyen d'incrémenter une valeur dans ma base de données MySQL, sans avoir à faire un cycle complet de lecture-mise à jour-écriture. Tels que ceci:Valeur d'incrément dans la base de données en utilisant Propel
UPDATE books SET popularity = popularity + 1 WHERE id = 123
Bien sûr que je peux faire:
$book = new BookQuery::create()->findPk(123);
$book->setPopularity($book->getPopularity() + 1);
$book->save();
Mais cela se traduirait par 2 requêtes (le SELECT et la mise à jour).
Existe-t-il une façon simple de faire cela dans Propel?
Vous pouvez faire SQL directement dans propel; Sinon, vous pouvez utiliser une combinaison de create() -> filterBy() -> update() pour accomplir ce que vous voulez. – versalle88
Je sais que je peux faire du SQL directement dans Propel, mais je veux juste comprendre comment résoudre ce problème avec Propel. Aussi, si j'utilise update(), à quoi ressemblerait la syntaxe pour incrémenter une valeur? –