我在CakePHP中有一个表单,用于将信息保存到多个模型。我的第一个模型是"世界",我对这些字段没有问题,验证是正确的,它被正确地保存到数据库。第二个模型是"Country",我使用如下代码:
echo $this->Form->input('Country.0.name');
正确地保存到数据库中,但是没有验证(如必需字段的阶梯),也没有自动(内容类型的自动检测)。第三个模型是"区域",我使用与第二个相同的代码,但没有验证,没有自动,没有保存…
有人能帮忙吗?
谢谢你,Sebastien
没有看到你的代码的其余部分,我猜你试图在同一时间拯救多个国家。模型期望数据以特定格式出现:
$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
}
}
祝你好运,快乐编码!