我一直在寻找几个小时来完成这项任务(我知道这是相当基本的),但我找不到任何文件......
我有三个模型 - 评论,用户和书籍 - 我正在设计评论控制器并为该控制器添加操作。我已经从会话中提取了user_id,并用于将评论填充为“由该用户编写”。但是,添加到正在审核的书中的最佳方法是什么?另外,有没有办法用图书模型中的图书信息填充“创建”页面?
我正在考虑将URL设置为/ reviews / 1 / format,其中1是book_id,但是创建($ id = null),但是如何将其转换为读取命令并将其集成到数据变量?
非常感谢任何帮助!
编辑:这就是我的控制器现在的样子:
function create() {
if($this->Review->create($this->data) && $this->Review->validates()) {
$this->data['Review']['user_id'] = $this->Session->read('Auth.User.id');
$this->Review->save($this->data);
$this->redirect(array('action' => 'index'));
} else {
$errors = $this->Review->invalidFields();
}
}
答案 0 :(得分:3)
对我而言,就像你正在努力实现Cake默认做的那样。如果您正确设置了模型关联,则在创建图书评论时,您应该已在$this->data['Book']
查看您的模型并确保使用适当的关系将它们链接在一起。 http://book.cakephp.org/view/1039/Associations-Linking-Models-Together
我倾向于设置我的数据库并让蛋糕为我烘焙我的模型,因为它节省了时间。