2010-07-06 6 views
0

나는 간단한 cms 응용 프로그램을 개발하고 있습니다.조회수 카운트

는 레코드의보기를 브라우저에서 보여 때 내가 그래서 기록의 일부 "히트 수를"통합하려는

이 테이블의 필드 컨트롤러 1.

으로 업데이트해야합니다 명중, 내가 함께 tryed :

$ data = array ('Publication'=> array ('hits'=> 'hits + 1')));
$ this-> Publication-> save ($ data); 케이크 tryes이 값 안타 필드 hits를 업데이트 할 수 있기 때문에

...하지만 행운은 + 1

당신은 내가 틀렸다 말해 줄 수, 어떻게 업데이트 필드 hits을 incrementaly 할 수 있습니다.

미리 감사드립니다!

답변

4

좋아, 내가 대답 위

$this->Publication->updateAll(array('Publication.hits'=>'Publication.hits+1'), array('Publication.id'=>$id)); 
5

사용 updateAll :

$this->Publication->updateAll(
    '`Publication`.`hits` = `Publication`.`hits` + 1', 
    array('Publication.id' => $id) 
); 
0

CakePHP를 2.6.0 작동하지 않습니다 그것을 해결이 잘 작동

$this->Product->updateAll(
    array('Product.hits' => 'Product.hits' + 1), 
    array('Product.id' => $id) 
); 
+0

이 유효하지 않습니다 (Cake) PHP 구문. 이것은 작동하지 않습니다! 문자열에 1을 추가하고 있습니다. 전체 문자열을 "1"로 만듭니다. 위의 예는 모두 잘 작동해야합니다. – mark