我在Projects& amp;之间创建了一个hasMany关联。评论表。
从这个url:/ projects / add,用户可以创建一个新项目并写几条评论。
请求返回如下数组:
[
'name' => 'Project name',
'comments' => [
(int) 0 => [
'text' => 'This is a comment on this project'
],
(int) 1 => [
'text' => 'Comment'
]
]
]
在验证者评论中,我添加了minLength 30规则。
在上面的示例中,验证程序将在第二个注释和块记录时返回错误。
我想要的是保存项目和好的评论,并返回如下错误:"该项目已保存,但未保存一条或多条评论"。
感谢您的帮助!
答案 0 :(得分:0)
This answer显示了一种方法来做你正在寻找的东西。如果相关模型存在验证错误,请尝试保存并取消绑定hasMany关系。
我认为尽管分割保存电话会更清晰。
if (!$this->Project->save($this->request->data['Project'])) {
throw new Exception($this->Project->getErrors());
}
if (!$this->Project->Comment->save($this->request->data['Comment'])) {
$message = 'The project has been saved, But one or more comment was not saved';
}