在我正在构建的cakePHP项目中,我想插入一定数量的相同记录。这些将用作占位符记录,稍后将添加其他数据。每条记录都将插入从两个belongs_to
关系中获取的ID以及另外两个字符串值。
我想要做的是能够为我想要创建的记录数输入一个值,这相当于在保存期间循环数据的次数。
我不知道的是:
如何设置循环来处理一定数量的插入
如何在cakePHP中定义一个只设置要创建的记录数的表单字段。
我尝试的是以下内容:
function massAdd() {
$inserts_required = 1;
while ($inserts_required <= 10) {
$this->Match->create();
$this->Match->save($this->data);
echo $inserts_required++;
}
$brackets = $this->Match->Bracket->find('list');
$this->set(compact('brackets'));
}
会发生什么:
在屏幕顶部,在doc类型上方,显示字符串12345678910
,这将显示在屏幕上
共创建了11条记录,只有最后一条记录具有表单中传递的值。我不知道为什么创建了11条记录而不是10条记录,为什么只有最后一条记录有输入的表格数据呢?
一如既往,感谢您的帮助和指导。
答案 0 :(得分:2)
在您的视图中尝试编写类似
的内容echo $form->input('Answer.n.title', array('type'=>text'));
在控制器写入
function add(){
$this->Answer->saveAll($this->data);
}
在我的项目中我使用了jQuery,无需重新加载页面即可添加新行。