CakePHP预填表格数据似乎不起作用

时间:2013-08-14 18:23:11

标签: cakephp

这是我想要完成的事情:

用户填写表单,保存记录。在稍后的某个日期,他们希望“克隆”这个记录,但可能想做一些调整。这个“克隆”功能应该将它们引导到预先填充了先前记录数据的表单,以便他们可以查看,根据需要进行编辑,并将其作为新记录提交。

我正在尝试:

我修改了add()函数以接受参数:

function add($cloneid = NULL)

然后创建了一个克隆链接,将其发送到 siteurl / model / add / id_to_clone

然后,我从该模型中获取数据:

$clone_source = $this->Model->findById($cloneid);
$this->data['Model']['field1'] = $clone_source['Model']['field1'];

等等。基于谷歌搜索和其他帖子,这应该工作。但实际发生的是,在点击“克隆”链接时,用户被定向并且表单立即提交自身(未能保存记录,因为它未通过验证)并且用户实际上从未看到该表单。

我做错了什么? (另外我应该注意,存在关系模型,但我不认为这应该是任何问题的原因......我希望。)

1 个答案:

答案 0 :(得分:0)

使用$this->request->data数组预先填充表单。

为了填充表单,您需要为请求设置一些数据。

所以你会因以下情况而变得更好。

$this->request->data = $this->Model->findById($id);