كيف يمكنني الاستعلام عن جدول يعتمد على علاقة HABTM مع توفير شروط إضافية في CakePHP؟
-
03-07-2019 - |
سؤال
كيف يمكنني القيام بذلك في CakePHP:أنا أستخدم جدولين (regions
و safaris
) وجود علاقة متعدد إلى متعدد.يتم ربط الجداول بجدول آخر يسمى regions_safaris
(مع الحقول region_id
& safari_id
).أريد جلب كل شيء safaris
تلبية معايير معينة مثل فترات 5 أيام وفي منطقة معينة.يجب تنفيذ ذلك في CakePHP
المحلول
جمعة,
يرجى مقاومة النشر عدة مرات بهذه السرعة.
لمزيد من المرجع، يرجى الاطلاع على علاقة Cakebook Has-And-Belongs-To-Many.هذا هو بالضبط ما تصفه.يرى http://book.cakephp.org/view/83/hasAndBelongsToMany-HABTM
باختصار، بافتراض أن لديك إعداد نماذج الكعكة بشكل صحيح (مع وجود علاقة HABTM بين المناطق ورحلات السفاري والمناطق_safaris؛تحقق من فهرس 'joinTable' في المصفوفة var $hasAndBelongsToMany، في النماذج)، فستفعل هذا:
class SafariModel extends AppModel
{
var $name = 'Safari';
var $hasAndBelongsToMany = array( 'Tag'=>array( ..., 'joinTable'=>'regions_safaris', ... );
function findSafaris( $duration = 5, $region = null )
{
return $this->find('all', array('conditions'=>array('Region.region_name'=>$region, 'Safari.duration'=>$duration) );
}
... // rest of class
}
لا تنتمي إلى StackOverflow