我们说我有一个数组:
array(
'Foo' => array(
'field1' => 'value1',
'field2' => 'value2'
),
'Bar' => array(
'field1' => 'value1',
'field2' => 'value2'
)
)
Foo
和Bar
设置了模型关系,并在模型中有自己的验证条件。
如果我$this->Foo->save();
Bar
即使Foo
未通过验证,我该怎样才能这样做呢?它仍会继续,只保存{{1}}
答案 0 :(得分:0)
$this->Foo->unbindModel(array('hasAndBelongsToMany' => array('Bar')), true);
答案 1 :(得分:0)
完成了这些方面的工作:
如果初始保存失败,请检查Bar
是否存在验证错误,如果有,则取消设置栏并在Foo
$data
时再次保存
if ($this->Foo->save($data)) {
//success
} else {
$errors = $this->Foo->invalidFields();
if (!empty($errors['Bar'])) {
unset($data['Bar']);
}
//retry save
if ($this->Foo->save($data) {
//success
} else {
//failure
}
}