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