我有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