Containable 配列に関するCakeBookのガイドを読みました。
class Post extends AppModel {
public $actsAs = array('Containable');
結果は次のとおりです。
array(
(int) 0 => array(
'Post' => array(
'id' => '1',
'title' => 'This is the first post',
'slug' => 'this-is-the-first-post',
'body' => 'body body 111body body 111body body 111body body 111body body 111body body 111body body 111',
'image_id' => '0',
'language' => 'sv',
'translation_id' => '0',
'created' => '2012-09-03 17:45:57',
'modified' => '2012-09-03 19:12:21'
),
'Image' => array(
'id' => null,
'name' => null,
'url' => null,
'alt' => null,
'description' => null
),
'Asset' => array(),
'Readmore' => array(),
'Reference' => array(),
'Category' => array(),
'Course' => array(),
'Tag' => array(),
'User' => array(
(int) 0 => array(
'password' => '*****',
'id' => '2',
'username' => 'test0',
'fullname' => 'Test Test',
'url' => '',
'email' => '',
'role' => 'admin',
'phone' => '+',
'created' => '2012-09-03 17:44:22',
'PostsUser' => array(
'id' => '1',
'post_id' => '1',
'user_id' => '2'
)
),
(int) 1 => array(
'password' => '*****',
'id' => '1',
'username' => 'test1',
'fullname' => 'Frank',
'url' => '',
'email' => '',
'role' => 'admin',
'phone' => '',
'created' => '2012-09-03 17:41:25',
'PostsUser' => array(
'id' => '3',
'post_id' => '1',
'user_id' => '1'
)
)
)
),
ただし、配列の特定の部分を出力することはできません。したがって、Post のインデックス ビューにいる場合は、次のように記述します。
echo h($post['Post']['title']);
すべて問題ありませんが、試してみると:
echo h($post['User']['fullname']);
うまくいきません。post と user の間に hasmany と belgosto の関係がある場合は、Users をループ処理する必要があるという点がわかりました。
では、投稿に関連付けられているすべてのユーザーを印刷するにはどうすればよいでしょうか?