确保在操作$ this-> data时包含模型名称,例如$ this-> data ['Event'] ['foo'] = bar。确保该方法返回true,否则保存将失败。
编辑
我掀起了一个简单的例子,它似乎是为我工作,请参见下面的代码。我的怀疑是,也许你错误地调用了saveMany并将整个$ this-> request-> data对象传递给它,但是很难在没有看到你的调用的情况下进行猜测。
查看
<?php echo $this->Form->create('ParentTable'); ?>
Record 1: <br />
<?php echo $this->Form->input('ParentTable.0.name'); ?>
Record 2: <br />
<?php echo $this->Form->input('ParentTable.1.name'); ?>
<?php echo $this->Form->end('Submit'); ?>
控制器
public function index() {
if ($this->request->data) {
$this->ParentTable->saveMany($this->request->data['ParentTable']);
}
}
型号
public function beforeSave() {
$this->data['ParentTable']['name'] .= ' modified';
return true;
}
我返回true。一个问题是,saveMany只使用数字索引,因此数据的格式与常规保存不同。 –
看看上面的例子,测试和工作:) – Hoff
@BenjaminAllison你试过了上面的代码还是让它工作? – Hoff