2011-03-24 4 views
2

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 

큰 따옴표를 사용해 보았습니다. 결과는 같습니다.

답변

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

또는

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

한 작동해야 saveField는 SQL 조각을 허용하지 않습니다, updateAll는

+7

를 정답은> updateAll (배열 ('Model.field'$ this-됩니다 않습니다 => 'Model.field + 1'), array ('Model.id'=> $ id)); – kaklon

관련 문제