CakePHP在照片中添加了一条评论


CakePHP adding a comment to Photo

我在网站上为照片添加评论时遇到问题。在评论表中,我有:iduser_idphoto_idcontentcreatedmodifiederased

在视图中我创建:

echo $this->Form->create('Comment');
echo $this->Form->input('title');
echo $this->Form->input('content');
echo $this->Form->input($this->Session->read('User.id'), array('type'=>'hidden'));
echo $this->Form->input($photo['Photo']['id'], array('type'=>'hidden'));
echo $this->Form->end('Add comment');

我不知道这是不是正确的方式。蛋糕如何知道两个隐藏值是user_idphoto_id

谢谢你的建议。

提交数据时,您必须在控制器中填充用户ID(因此用户不能作为其他用户发布)。您可以使用$this->Auth->user('id');获取用户ID(前提是您使用的是内置的Auth组件)。至于照片ID,当你加载照片时,你显然在某个地方有这个,你只需要在保存之前将这些数据传递到$this->request->data中。

一个简单的CakePHP 2方法是这样的:

public function viewPhoto($photoId) { //$photoId comes from your routes or something
    if($this->request->is('post')) {
        $this->request->data['Comment']['user_id'] = $this->Auth->user('id');
        $this->request->data['Comment']['photo_id'] = $photoId;
        $this->Photo->Comment->save($this->request->data);
    }
}

根据您的控制器/型号设置,此结构与您略有不同。