我有一个名为user_relationship的表。其中有两个外键引用回用户表来映射他们是朋友。
CREATE TABLE `user_relationships` (
`id` int(11) unsigned NOT NULL auto_increment,
`status` varchar(255) default 'pending',
`time` datetime default NULL,
`user_id` int(11) unsigned NOT NULL,
`friend_id` int(11) unsigned NOT NULL,
PRIMARY KEY (`id`),
KEY `fk_user_relationships_users1` (`user_id`),
KEY `fk_user_relationships_users2` (`friend_id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;
当我尝试烤它自然不明白,friend_id必须引用用户模块。我想手动编辑的代码。可是,有一些问题了解哪些部分在以下
var $belongsTo = array(
'User' => array(
'className' => 'User',
'foreignKey' => 'user_id',
'conditions' => '',
'fields' => '',
'order' => ''
),
'Friend' => array(
'className' => 'Friend',
'foreignKey' => 'friend_id',
'conditions' => '',
'fields' => '',
'order' => ''
)
);
编辑在我想是指的friend_id到用户表
'Friend' => array(
'className' => 'Friend',
'foreignKey' => 'friend_id',
'conditions' => '',
'fields' => '',
'order' => ''
)
我尝试了这部分代码这样做..我需要改变什么吗?
'Friend' => array(
'className' => 'Friend',
'foreignKey' => 'user_id',
'conditions' => '',
'fields' => '',
'order' => ''
)
可以解释为什么我们需要使用$ hasAndBelongsToMany。不能我用2 hasMany完成它? – 2010-09-27 07:46:37
http://book.cakephp.org/view/1046/Multiple-relations-to-the-same-model – 2010-09-27 07:51:43
@哈沙更新了一个尝试的解释... – deceze 2010-09-27 08:04:52