次のクエリを実行します。
$this->find('all',array(
'contain' => array(
'User' => array('id','facebook_id','name','username','Author' => array('first_name','last_name','code','photo')),
'Tab.code'
),
'fields' => array('Comment.date','Comment.time','Comment.content'),
'conditions' => array(
'Tab.code' => $code
),
'limit' => $limit,
'offset' => $offset
));
コメント...
public $belongsTo = array(
'User' => array('foreignKey' => 'user_id'),
'Tab' => array('foreignKey' => 'tab_id')
);
ユーザー...
public $hasOne = array('Author' => array('foreignKey' => 'id'));
と作者...
public $belongsTo = array(
'User' => array(
'className' => 'User',
'foreignKey' => 'id'
)
);
これは次のようなものを返します(jsonで)...
[
{
"Comment": {
"date": "2001-12-15",
"time": "17:32:12",
"content": "..."
},
"User": {
"id": "29",
"facebook_id": "1234",
"name": "User 29",
"username": "user29"
},
"Tab": {
"code": "llibre-de-prova-29",
"id": "229"
}
}
...
]
...ユーザーに添付されていると、指定したフィールドを持つ作成者が表示されることを期待しています。著者が表示されない理由を知っていますか?コードに2つのレベルの再帰性を備えた他のコンテインメントを実行しましたが、すべて期待どおりに機能します。
あなたの助けと注意をありがとう!