आपके वांछित परिणाम के साथ समस्या यह है कि यदि आप अपने संबंधित मॉडलों पर शर्तों का उपयोग करते हैं तो केक आपको एक स्ट्रिप्ड परिणाम सरणी वापस नहीं देगा।
ऐसा इसलिए होता है क्योंकि केक केवल आपके संबंधित मॉडल पर इन शर्तों का उपयोग करेगा और आपके संबंधित मॉडल पर शर्तों के सही होने के साथ आपको परिणाम वापस देगा।
यदि आप केवल विशिष्ट श्रेणी वाले उत्पादों को वापस प्राप्त करना चाहते हैं तो आपको श्रेणी-मॉडल के माध्यम से पूछताछ करने की आवश्यकता है क्योंकि इससे आपको अपने उत्पादों पर शर्तों का उपयोग करने की संभावना मिलती है। यह कुछ इस तरह दिख सकता है:
$this->Category->find('all', array('conditions' => array('Category.id' => 2));
यह आपको केवल वांछित श्रेणी और उससे जुड़े उत्पादों को वापस देगा। हालांकि, यदि आप एक सूची चाहते हैं तो यह बहुत संतोषजनक नहीं है, क्योंकि आपको मैन्युअल रूप से रूपांतरण करना होगा।
मैं इसके बजाय Linkable Plugin पर एक नज़र डालूंगा। जो आपको वास्तव में आपकी वांछित कार्यक्षमता देना चाहिए क्योंकि यह आपकी क्वेरी में किए गए जॉइन का उपयोग करके केक को बढ़ाता है। यह आपके संबंधित मॉडलों पर शर्तों के साथ परिणाम प्राप्त करना संभव बनाता है।