1

我如何在 CakePHP 中做到这一点:我正在使用具有多对多关系的两个表 (regions和)。safaris这些表由另一个名为regions_safaris(带有字段region_id& safari_id)的表连接。我想获取所有safaris满足给定标准的信息,例如 5 天的持续时间和给定区域。这应该在 CakePHP 中实现

4

1 回答 1

2

朱马,

请抵制这么快多次发帖。

如需更多参考,请参阅 Cakebook Has-And-Belongs-To-Many 关系。这正是你所描述的。见http://book.cakephp.org/view/83/hasAndBelongsToMany-HABTM

简而言之,假设您正确设置了 Cake 模型(在区域、safaris 和 region_safaris 之间建立了 HABTM 关系;检查模型中 var $hasAndBelongsToMany 数组上的“joinTable”索引),您可以这样做:

   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
   }
于 2009-03-02T17:46:22.250 回答