私の Users コントローラーでは、特定のユーザーの投稿をプロファイルに表示しようとしています。どうすればこれを達成できますか? 基本的に、私は Posts テーブルにアクセスしようとしている Users コントローラーにいます
これらは私のテーブルです
//Posts
id | body | user_id
//Users
user_id | username
これは私のユーザーのプロフィール機能です
UsersController.php
public function profile($id = null) {
$this->User->id = $id;
if (!$this->User->exists()) { //if the user doesn't exist while on view.ctp, throw error message
throw new NotFoundException(__('Invalid user'));
}
$conditions = array('Posts.user_id' => $id);
$this->set('posts', $this->User->Posts->find('all',array('conditions' => $conditions)));
}
/Posts/profile.ctp
<table>
<?php foreach ($posts as $post): ?>
<tr><td><?php echo $post['Post']['body'];?>
<br>
<!--display who created the post -->
<?php echo $post['Post']['username']; ?>
<?php echo $post['Post']['created']; ?></td>
</tr>
<?php endforeach; ?>
</table>
profile.ctp の各行を参照して、いくつかの「未定義のインデックス エラー」が発生しています。
Undefined index: Post [APP/View/Users/profile.ctp, line 11]