我在数据库中有两个表,cards
和comments
。我启动并运行了CakePHP应用程序。在卡片上查看.ctp ..相关评论显示在页面底部。
我想点击添加新评论,但是专门为当前卡添加它,例如预填充卡片字段以显示当前类别。
这是我当前的查看新评论链接:
<?php
echo $this->Html->link(__('New comment'), array('controller' => 'comments','action' => 'add'));
?>
这是我的添加评论控制器:
public function add() {
if ($this->request->is('post')) {
$this->Comment->create();
if ($this->Comment->save($this->request->data)) {
$this->Session->setFlash(__('The comment has been saved'));
$this->redirect(array('action' => 'index'));
} else {
$this->Session->setFlash(__('The comment could not be saved. Please, try again.'));
}
}
$cards = $this->Comment->Card->find('list');
$this->set(compact('cards'));
}
如何将卡设置为当前卡以获取新添加的评论?
我还希望能够添加新评论,但卡片空白..准备用户从列表中选择。
答案 0 :(得分:0)
您可以将cartId附加到视图页面上的链接:
array(..., 'action'=>'add', $cartId)
然后你可以检索它:
public function add($cartId = null) {
//...
if (isPost) {
//
} else {
$this->request->data['Comment']['cart_id'] = $cartId;
}
//...
}
这样,cartId将填充GET上的选择框(在POST上你想使用已发布的参数,以确保表格在验证错误时记住其发布的值)