在CakePHP文档中,他们实现如下!!
class Message extends AppModel {
public $belongsTo = array(
'Sender' => array(
'className' => 'User',
'foreignKey' => 'user_id'
),
'Recipient' => array(
'className' => 'User',
'foreignKey' => 'recipient_id'
)
);
}
和
class User extends AppModel {
public $hasMany = array(
'MessageSent' => array(
'className' => 'Message',
'foreignKey' => 'user_id'
),
'MessageReceived' => array(
'className' => 'Message',
'foreignKey' => 'recipient_id'
)
);
}
但这对我不起作用!! 并给我一些错误,没有找到用户模型中的一些表! 如果我将HasMany的名称用于Model !!的相同名称,这将起作用。
答案 0 :(得分:0)
经过一些谷歌搜索失败!! 我只是采取最简单的方式!!
public $hasMany = array(
'Follow_me'=>array(
'className'=>'Friend',
'foreignKey'=>'user_to' ,
) ,
'Follow_them'=>array(
'className'=>'Friend2',
'foreignKey'=>'user_from'
) );
这是用户模型 和 班级用户
现在是朋友模特
public $belongsTo = array(
'User'=>array(
'className'=>'User',
'foreignKey'=>'user_from' ,
) ,
);
朋友的表将是
id || user_from || user_to ||创建||改性
现在以最简单的方式! 使用名称Friend2
创建一个新的Model Classpublic $useTable = 'friends';
public $belongsTo = array(
'User'=>array(
'className'=>'User',
'foreignKey'=>'user_to' ,
) ,
);
现在!! 当您从用户模型中获取数据时,数据就像那样
array(
(int) 0 => array(
'User' => array() ,
'Follow_me' => array() ,
'Follow_them' => array() ,
'Some_Other_Relations_Goes_here' => array()
) )
希望这会帮助你们所有人