这是我想要完成的事情:
用户填写表单,保存记录。在稍后的某个日期,他们希望“克隆”这个记录,但可能想做一些调整。这个“克隆”功能应该将它们引导到预先填充了先前记录数据的表单,以便他们可以查看,根据需要进行编辑,并将其作为新记录提交。
我正在尝试:
我修改了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'];
等等。基于谷歌搜索和其他帖子,这应该工作。但实际发生的是,在点击“克隆”链接时,用户被定向并且表单立即提交自身(未能保存记录,因为它未通过验证)并且用户实际上从未看到该表单。
我做错了什么? (另外我应该注意,存在关系模型,但我不认为这应该是任何问题的原因......我希望。)
答案 0 :(得分:0)
使用$this->request->data
数组预先填充表单。
为了填充表单,您需要为请求设置一些数据。
所以你会因以下情况而变得更好。
$this->request->data = $this->Model->findById($id);