Cakephp:属于关系不起作用的关系

时间:2014-07-20 19:56:46

标签: php cakephp has-many belongs-to

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

我想在我的论坛模型中提供所有消息及其所有者。

所以,在我的Forum.php(模型)中,我写道:

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

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

和我的Message.php(模型):

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

使用“debug($ this-> Forum-> find('all'));”,我得到:

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

但是使用“debug($ this-> Message-> find('all'));”,我得到:

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

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

感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

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

$this->Forum->recursive=2; 

了解更多信息check here cakephp docs