Cakephp: belongsto关系不能在hasmany关系中工作


Cakephp: belongsto relation don't working in hasmany relation

我有3个模型:消息、论坛和用户一个论坛可能有几条消息,每条消息由一个用户发布。

我想在我的论坛模型所有的消息和他们的所有者。

所以,在我的Forum.php (model)中,我写:

public $belongsTo=array(
                'User' => array(
                                    'className' => 'User',
                                    'foreignKey'=>'id_user'
                                ),
                );
 public $hasMany=array(
                'Message' => array(
                                    'className' => 'Message',
                                    'foreignKey'=>'id_forum'
                                ),
                );

和在我的Message.php (model):

public $belongsTo=array(
                'User' => array(
                                    'className' => 'User',
                                    'foreignKey'=>'id_user'
                                ),
                );

"调试($ this ->论坛->找到('所有'));",我得到:

array(
(int) 0 => array(
    'Forum' => array(
        'id' => '3',
        'titre' => 'rooo',
        'message' => 'tooo',
        'id_user' => '2',
        'date_create' => '2014-07-20 17:24:07'
    ),
    'User' => array(
        'password' => '*****',
        'id' => '2',
        'username' => 'member',
        'date_sign' => '2014-07-04 11:34:52'
    ),
    'Message' => array(
        (int) 0 => array(
            'id' => '5',
            'message' => 'hi',
            'id_user' => '3',
            'id_forum' => '3',
            'date_add' => '2014-07-20 18:53:51'
        )
    )
)

)

,但"调试($ this ->消息->找到('所有'));",我得到:

array(
(int) 0 => array(
    'Message' => array(
        'id' => '5',
        'message' => 'hi',
        'id_user' => '3',
        'id_forum' => '3',
        'date_add' => '2014-07-20 18:53:51'
    ),
    'User' => array(
        'password' => '*****',
        'id' => '3',
        'username' => 'membre2',
        'date_sign' => '2014-07-20 18:26:41'
    )
)

)

我不明白为什么我在第一个模型上没有得到我的用户信息,但它在第二个模型上工作。

您需要将论坛模式的递归属性设置为2

$this->Forum->recursive=2; 

更多信息请查看cakephp docs