محاولة الحصول على بيانات "المدينة" من Event-> Venue-> City باستخدام "احتواء" في CakePHP
-
28-10-2019 - |
سؤال
أحاول إرجاع قائمة برمز الترميز العام ، وتضمين رمز الرمز العام في مكان حدوثه.لا ترتبط المدينة إلا من خلال رمز الترميز العام للحدث.
أدناه هو الرمز الذي أستخدمه.يقوم بإرجاع جميع البيانات الصحيحة ، ولكنه لا يعرض أي بيانات مدينة (بخلاف حقل city_id في Venue - وأنا لست متأكدًا من سبب عودته).
الجمعيات: Genacodicetagpre
الرمز: Genacodicetagpre
إجابة إضافية: (التي سألتها حاليًا في سؤال StackOverflow آخر ) - من المفترض أن تقوم شروط التاريخ بتصفية الأحداث التي تظهر ، ولكن بدلاً من ذلك ، يقومون فقط بتصفية بيانات التاريخ التي سيتم عرضها.
إجابة العمل: (شكرًا للحامل)
Genacodicetagpreالمحلول
أوصي بتجنب استخدام الاحتواء.يولد الكثير من الاستعلامات في بعض الحالات.أفضل طريقة لطلبات البحث المعقدة لربط الجداول "يدويًا" .
هناك خيار آخر أود مراعاته في المقام الأول وهو البحث من خلال نموذج "الموقع" دون استخدام الاحتواء مثل هذا: رمز الترقيم الشامل.نظرًا لأن الأماكن المرتبطة ارتباطًا مباشرًا بالمدن والأحداث ، يجب أن يكون هناك إمكانية للحصول على ما تريد دون تعقيدات إضافية.
تحديث: ألق نظرة على السؤال كيف تغير تسلسل" الصلات "في CakePHP؟
نصائح أخرى
بدلاً من الاحتواء ، هل حاولت تضمين بيانات المدينة في الحقول نفسها بواسطة الحقول=> المصفوفة (''، ''، 'City.name)