मैं तीन मॉडलों, उपयोगकर्ता, टिप्पणियां और पेज है।मैं केकपीएचपी में 'युक्त' प्रश्नों को कैसे कम कर सकता हूं?
उपयोगकर्ताकईटिप्पणियां, और टिप्पणियांकोपेज संबंधित है।
सभी मॉडल containable
व्यवहार का उपयोग करते हैं, और डिफ़ॉल्ट रूप से recursive -1
पर उपयोग करते हैं।
अगर मैं पर टिप्पणियां एक find()
क्वेरी फोन, साथ पृष्ठ मॉडल के क्षेत्र सहित अनुरोध होते हैं, यह सही ढंग से किसी एक क्वेरी का उपयोग कर परिणाम पूर्ण रूप से अपने उपयोगकर्ता के लिए पृष्ठ तालिका में शामिल होने देता है।
अगर मैं उपयोगकर्ता मॉडल से एक समान क्वेरी फोन (युक्तटिप्पणी और Comment.Page), परिणाम स्रोत को टिप्पणियां एक प्रश्न, टिप्पणी प्रति एक प्रश्न के बाद है स्रोत पृष्ठ स्रोत।
क्या जॉइन अनुकूलन को बनाए रखने के लिए मॉडल को कॉन्फ़िगर करने का कोई तरीका है? मुझे लगता है कि संबंधित मॉडल (टिप्पणियां) पर घोषित करने के लिए मेजबान मॉडल (उपयोगकर्ता) के माध्यम से अनुसरण किया जाएगा।
अद्यतन
मैं स्पष्ट करना चाहिए, मेरे सवाल का मेरे वास्तविक मामले का अध्ययन का एक सरलीकृत संस्करण का इस्तेमाल किया। हालांकि न्यूनतम समाधान मैं की आवश्यकता होती है इस प्रारंभिक मॉडल शामिल होंगेhasManyमॉडलbelongsToमॉडल संरचना, मैं भी श्रृंखला के नीचे एक या अधिक अतिरिक्त belongsToमॉडल पर समाधान के लिए देख रहा हूँ (जो हालांकि, मैं स्वचालित रूप से बाएं जॉइन का उपयोग करता हूं, क्योंकि यह संभव होगा)।
हाय कोल्बी। क्या आपको अभ्यास में इसका एक उदाहरण मिला है? जैसा कि मुझे लगता है कि यह दृष्टिकोण मेरी अपनी परियोजनाओं में से एक के साथ-साथ मूल पोस्टर की सहायता कर सकता है। –
मुझे विश्वास है कि आपके नियंत्रक में ऐसा कुछ संपूर्ण नियंत्रक के लिए आपके प्रश्नों को शामिल करेगा। 'फ़ंक्शन से पहले फ़ंक्शन() \t { \t पैरेंट :: पहले फ़िल्टर(); \t \t $ यह-> मॉडल-> ('relatedModelStuff') शामिल है; \t \t \t} // पहले Filter' –
धन्यवाद कोल्बी, यह काफी नहीं है जो मैं बाद में था, लेकिन पहले फ़िल्टर में घोषणा एक उपयोगी स्निपेट, चीयर्स है। – Rhys