Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/291.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
cakephp关联问题在2x中发布_Php_Cakephp_Cakephp 2.3 - Fatal编程技术网

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'
                      )
                      );
}