CakePHP2系にてURLからコントローラーに引数を渡したい
CakePHP2系で投稿機能で投稿した記事にコメントできる機能を実装しています。
DB上ではCommentテーブルのPost_idカラムに投稿した記事のPostテーブル上のPost_idと同じ値が入るようにしたいです。また、PostとCommentの二つのモデルはpublic $hasMany = "Comment";
でリレーションが作れています。現状はURLまでpost_idの値が反映されているのですが、コントローラー側で受け取ることができていない状態です。
ビューファイル
<td>
<?php echo $this->Html->link('Comment',array('controller'=>'comments',
'action'=>'comment',
$post['Post']['id']))?>
</td>
コントローラー
<?php
class CommentsController extends AppController {
public $helper = array('Html','Form');
public function comment($post_id)
{
if ($this->request->is('post'))
{
$data=$this->request->data;
$id=$this->request->params['post_id'];
$data['Comment']['post_id']=$post_id;
if ($this->Comment->save($data))
{
$this->Session->setFlash('Success!');
return $this->redirect('/comments/comment/');
//$this->Comment(array('controller' => 'comments', 'action' => 'view', $this->data['Comment']['id']));
} else {
$this->Session->setFlash('failed');
}
}
}
}
?>