문제

스택 오버 플로우가 배지를 사용하는 것과 같은 방식으로 커뮤니티 요금을 장려하기 위해 웹 사이트를위한 '상'시스템을 만들고 있습니다.

이 사이트는 CakePHP로 내장되어 있으며, 수상 모델, 컨트롤러 등을 만들었습니다. 현재 사용자가 보너스가 있는지 계산하는 방법이 어워드 컨트롤러 내에 포함되어 있는지 계산하는 방법입니다.

그러나 상을 업데이트하는 가장 좋은 방법을 결정할 수는 없습니다. 예를 들어, 특정 수의 의견을 제시하고 상을 수상한 경우 CRON은 충분하지 않을 것입니다. 그렇지 않으면 사용자가 수상을 기대하는 프로필을 방문 할 수 있습니다. 크론이 실행될 때까지 하나가 없습니다.

나는 requestaction ()을 사용하여 수상 컨트롤러에서 상을 업데이트하기 위해 방법을 호출 할 생각 이었지만 이것은 실제로 MVC 디자인 패턴에 맞지 않으며 더 나은 방법이 있다고 생각했습니다!

도움이 되었습니까?

해결책

상을받는 유일한 방법이 의견을 제시하는 것이라면 모델 :: 저장을 재정의하여 새로운 댓글이 추가되는지 확인하십시오. 그렇다면, 상을 업데이트하기 위해 Awards 모델에 전화를 걸어보십시오.

상을 수여 할 수있는 여러 조치가있는 경우 각 모델을 활용 하여이 점검을 수행하거나 앱 모드를 수정하여 모든 저장이 checknewawards ()에 호출 할 수 있도록 앱 모드를 수정할 수 있습니다.

아니면 질문을 이해하지 못할까요?

다른 팁

헬퍼에 함수를 만들고 레이아웃이 렌더링 될 때마다 실행되도록 레이아웃에 넣습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top