2010-03-22 6 views
0

관련 스토리에 게시 된 챕터 수를 추적하려면 counterCache를 사용하고 있습니다.CakePHP counterCache

데이터베이스의 chapter_count 필드가 업데이트되면 해당 레코드에 대한 수정 된 필드가 업데이트되지 않는다는 점을 제외하면이 모든 항목이 정상적으로 작동합니다.

counterCache 기능이 실행될 때 수정 된 필드를 자동으로 업데이트하도록 Cake를 설정할 수있는 방법이 있습니까?

감사합니다.

답변

3

챕터 테이블에 수정 된 입력란이 있다고 가정합니다. 케이크 기본 동작은 특정 레코드에 대해 업데이트하는 것입니다.

테이블에 count_modified 열을 추가 한 다음 모델 beforeSave()에서 현재 시간 소인을 할당 한 다음 저장할 수 있습니다. 그 열에게 모델이 저장 작업을 수행 할 때마다 저장해야합니다 아마 같은

뭔가,

function beforeSave(){ 
    $this->data['Chapter']['count_modified'] = date(); 
} 

. 방법은 다음과 같습니다. http://api.cakephp.org/class/model#method-ModelbeforeSave 및 서적 링크 http://book.cakephp.org/view/683/beforeSave