我在CakePHP中有一个表单,用于将信息保存到多个模型中。 我的第一个模型是“世界”,我对这些字段没有问题,验证是正确的,并且它已正确保存到数据库中。 第二个模型是“国家”,我使用这样的东西:
echo $this->Form->input('Country.0.name');
这已正确保存到数据库中,但没有验证(如必需字段的楼梯),也没有自动(自动检测内容类型)。 第三个模型是“Region”,我使用与第二个相同的代码,但没有验证,没有自动化,也没有保存......
有人可以帮忙吗?
谢谢你, 塞巴斯蒂安
答案 0 :(得分:0)
如果没有看到您的其余代码,我猜您正在尝试同时保存多个国家/地区。该模型期望数据以特定格式出现:
$this->data['Model']['field'];
你传递的是:
$this->data['Model'][0]['field'];
模型无法解释它。解决此问题的方法是在收集数据并独立发送每个请求时构建一个foreach。
foreach($country as $field) {
$data['Country']['field'] = $field;
// add other fields that are required
if($this->Country->validates($data)) {
$this->Country->create();
$this->Country->save($data);
} else {
// error handling
}
}
祝你好运,编码愉快!