cakephp关联问题在2x中发布
我有两张桌子cakephp关联问题在2x中发布,php,cakephp,cakephp-2.3,Php,Cakephp,Cakephp 2.3,我有两张桌子 消息 用户 用户具有角色医生和用户 消息具有文档id和用户id 我如何建立一个关联,以便它返回来自用户的文档id和用户id,对于用户上的角色关联,您将需要一个联接表,如果我认为一个用户可以有多个角色,这是正确的 你的消息模型应该只有一个BelongsTo用户,然后当你做循环时,你会在你的find方法中使用深层的关联来带回一些像 // Find with deep assosiations $this->Message->find('all', array());
消息
用户
用户
具有角色医生
和用户
消息
具有文档id
和用户id
我如何建立一个关联,以便它返回来自
用户的文档id
和用户id
,对于用户上的角色关联,您将需要一个联接表,如果我认为一个用户可以有多个角色,这是正确的
你的消息模型应该只有一个BelongsTo用户,然后当你做循环时,你会在你的find方法中使用深层的关联来带回一些像
// Find with deep assosiations
$this->Message->find('all', array());
Array
(
[Message] => Array
(
[id] => 2
[body] => example body...
)
[User] => Array
(
[username] => John
[Role] => Array
(
[0] => 2
[1] => 6
)
)
)
为什么doc\u id
,user\u id
会有不同?请更清楚地更新您的问题,甚至可能更新一些上下文。user id用于不同的功能,doc id用于不同的功能。用户向医生发送消息。那么消息中的文档id和用户id。什么功能?简单的用户类型可以做到这一点,我想。用户id哪个用户发送医生id的消息。这就是为什么我保存这两个记录。
class Message extends AppModel {
public $hasMany=array('MessageDetail');
public $belongsTo = array(
'User'=>array(
'className'=>'User',
'foreignKey'=>'user_id',
),
'Doctor'=>array(
'className'=>'User',
'foreignKey'=>'doc_id'
),
'Petprofiles'=>array(
'className'=>'PetProfiles',
'foreignKey'=>'petprofiles_id'
)
);
}