Я новичок в продвижении, и я ищу способ увеличить значение в моей базе данных 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-запросов (выбранный и UPDATE).
Есть ли опрятный способ сделать это в Propel?
Вы можете сделать прямой SQL в propel; в противном случае вы могли бы использовать комбинацию create() -> filterBy() -> update(), чтобы выполнить то, что вы хотите. – versalle88
Я знаю, что могу делать прямой SQL в Propel, но я просто хочу понять, как это решить с помощью Propel. Также, если я использую update(), что бы синтаксис выглядел бы, чтобы увеличить значение? –