0

这是我想要完成的事情:

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

我正在尝试什么:

我修改了 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'];

等等。根据谷歌搜索和其他帖子,这应该可行。但实际发生的是,在单击“克隆”链接后,用户被定向并且表单立即提交(未能保存记录,因为验证失败)并且用户实际上从未看到该表单。

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

4

1 回答 1

0

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

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

所以你会更好地与以下。

$this->request->data = $this->Model->findById($id);
于 2013-08-15T10:39:13.533 回答