2011-08-22 2 views
1

지금 당장 모델/관련 모델 데이터의 표준 검색을 수행하는 컨트롤러/작업이 있습니다. 내 작업은 현재 뷰에 변수를 전달하여 HTML을 통해 사용자에게 표시 할 값을 선택합니다.CakePHP JSON API 포함 질문

모바일 장치가 JSON 형식의 데이터 버전을 가져 오기 위해 호출하는 경우 이러한 함수를 확장하고 다시 사용하고 싶습니다. 내가 라우터를 사용하고 있습니다 : parseExtensions ("json") 그리고 그 모든 작동합니다.

내 주요 질문은 데이터 크기를 처리하는 방법입니다. 현재 User 모델조차도 많은 관련 모델과 재귀 관계를 가지고 있습니다. 지금은 뷰에 전달하기 전에 불필요한 데이터를 잘라 내기 위해 포함을 사용하지 않고 뷰가 원하는 요소를 가져 와서 HTML 크기에 영향을 미치지 않습니다.

JSON 뷰의 경우 형식을 지정하고 전체를 반환하므로 매우 커집니다. 내 현재의 생각 과정은 JSON의 경우에 containable을 사용하는 경우에만 필요하지만, 좀 더 우아한 해결책이 있기를 바랬다. 아니면 이것을 할 수있는 케이크 한 방법입니까?

감사합니다.

+0

정확히 무엇을해야합니까? 그리고 수용 할 수있는 솔루션은 어떻게 될 것이라고 생각하십니까? 나는 이것이 누군가가 containable이 우아하지 않다고 말하는 것을 처음 듣기 때문에 궁금합니다. –

답변

0

실제로 쿼리 포함 및 미세 조정을 사용하면 매우 훌륭한 솔루션입니다. 보기가 이 아니더라도 실제 데이터 인을 사용하면 불필요한 데이터/조인을 추가하여 데이터베이스에 불필요한로드를가합니다.

Containable을 모두 사용하여 쿼리와 관계를 제한하고 모델 및 호출기 호출에서 관계를 미세 조정하십시오.

대부분의 찾기 호출을 모델 계층으로 이동하는 것이 좋습니다. 그들은 재사용이 가능하고 테스트하기 쉽고 전반적으로 Cake-ish입니다.