С помощью cakePHP можно увеличить значение столбца, не читая его значение в первую очередь? - PullRequest
3 голосов
/ 25 марта 2011

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

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 Ответ

4 голосов
/ 25 марта 2011
$this->updateAll(array(), array('Model.field + 1'))

или

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

один из них должен работать, saveField не допускает фрагменты sql, updateAll делает

...