С помощью cakePHP можно ли увеличить значение столбца, не читая его значение сначала?


Я хотел бы увеличить значение столбца в cakePHP. Есть ли способ заставить cakePHP написать это?

UPDATE `gigs` SET `visits` = visits+1 WHERE `gigs`.`id` = 1

Я попробовал это:

function addVisit($id){
    $this->id = $id;
    $this->saveField('visits', 'visits+1');
}

Но cakePHP добавляет кавычки вокруг посещений+1.

UPDATE `gigs` SET `visits` = 'visits+1' WHERE `gigs`.`id` = 1

Я попробовал двойные кавычки, результаты те же.

1 3

1 ответ:

$this->updateAll(array(), array('Model.field + 1'))

Или

$this->updateAll(null, array('Model.field + 1'))

Один из них должен работать, saveField не разрешает SQL-фрагменты, updateAll делает