CakePHP问题:我如何将帖子/视图的id传递给评论/查看?

时间:2011-09-20 02:24:51

标签: php cakephp routing cakephp-1.3

我现在正在帖子/ view / id。

可以选择编辑,删除帖子/ view / id中的评论。

如果我点击编辑任何评论的链接,则会执行评论/视图/ ID。

编辑评论后,我需要做=>

$this->redirect(array('controller'=>'posts','action' => 'view',$id));

此处$ id将是帖子的ID。

如何在评论/查看操作中获取帖子的ID。

这是comments / edit / id action =>

function edit($id) {
    $this->Comment->id = $id;
    if (empty($this->data)) {
        $this->data = $this->Comment->read();
    } else {
        if ($this->Comment->save($this->data)) {
            $this->Session->setFlash('Your comment has been updated.');
            $this->redirect(array('controller'=>'posts','action' => 'view',$id));
        }
    }
}

这是comment =>

的修改链接
echo $this->Html->link('Edit', array('controller'=>'comments','action'=>'edit',$comment['Comment']['id']));

2 个答案:

答案 0 :(得分:2)

评论/视图中是否应该有$ this-> data ['Comment'] ['post_id']字段?除非你在帖子和评论之间有一些非正统的关系。所以$this->redirect(array('controller'=>'posts','action' => 'view',$this->data['Comment']['post_id']));

答案 1 :(得分:1)

我想你的评论数据库表定义了一个外键字段,它导致评论所属的帖子?我想,至少那是这种情况的最佳做法 如果您已经实现了这样的功能,则可以使用当前查看的评论的外键字段轻松获取post_id。

但是,您可能选择了一种不同的方法来连接模型。我认为使用该连接将是获取post_id的最简单方法。但是我们需要更多关于你的实现的信息。