Cakephp: отношение принадлежности не работает с отношением hasmany

У меня есть 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-й модели, но она работает во 2-й.

Спасибо за помощь.


person misterdebug    schedule 20.07.2014    source источник
comment
Вы установили рекурсию на 2 перед поиском? $this-›Forum-›recursive=2;   -  person Garry    schedule 21.07.2014
comment
да это ответ спасибо ;)   -  person misterdebug    schedule 21.07.2014


Ответы (1)


Вам нужно установить рекурсивное свойство модального форума на 2

$this->Forum->recursive=2; 

Для получения дополнительной информации проверьте здесь документы cakephp

person Garry    schedule 25.07.2014