我有一个照片库我正试图将照片设为专辑的封面。我在相册表中有一个字段cover_id,它已经通过模型链接到照片。我将album_id和photo_id传递给控制器。我想更新album.cover_id通过params传递,photo_id通过params。有没有办法做到这一点或一种方法来使链接成为一个形式,而不是看起来像或形式或改变很多CSS?
答案 0 :(得分:3)
保存数据和表单是两个独立的事情,你可以使用一个而不用另一个。您可以通过POST(通常是表单)或GET(在URL中)将变量从浏览器传递到服务器。混合搭配,做任何你想做的事。例如:
echo $html->link('Set as cover', array('controller' => 'albums', 'action' => 'set_cover', 42, 123));
网址:
/albums/set_cover/42/123
class AlbumsController extends AppController {
function set_cover($album_id, $photo_id) {
$this->Album->save(array('id' => $album_id, 'cover_id' => $photo_id));
}
}
答案 1 :(得分:0)
我会在保存
之前将它添加到数据数组中$this->data['Album']['cover_id'] = $this->params[0];
$this->data['Album']['id'] = $this->params[1];
$this->Album->save($this->data);
如果您想看看,可以随时pr()
$this->params
查看控制器知道的内容。