如何解决在 Cakephp4
我正在尝试从 cakephp4 中的表单数据中保存一条新记录。此代码在 cakephp3.2 中有效并且已更新但不起作用。我的问题是我得到的只是假的?当我尝试保存 .我在 $tutor 上尝试了 getErrors,但也无法识别。如何找出错误所在?
$tutor = $this->Tutors->newEmptyEntity();
$tutor = $this->Tutors->patchEntity($tutor,$saveData,[
'associated' => [
'AvailabilityForTutors'=>["validate"=>false],'AvailabilityForAssessments'=>["validate"=>false],'Subjects'=>["validate"=>false]
],"validate"=>false
]);
// debug($tutor);
$tutor = $this->Tutors->save($tutor,[
'validate' => false,'associated' => [
'AvailabilityForTutors','AvailabilityForAssessments','Subjects'
]
]);
debug($tutor);//returns false? this doesnt tell me anything
https://book.cakephp.org/4/en/orm/saving-data.html
解决方法
我至少会将保存内容移到表格中并将其包装在 if/else 中以检查保存是否确实发生,如果没有正确记录并返回错误。要获取错误,请将保存更改为以下代码:
if ($this->Tutors->save($tutor,[
'validate' => false,'associated' => [
'AvailabilityForTutors','AvailabilityForAssessments','Subjects'
]
])){
return $tutor;
} else {
Log::write(
'emergency','Unable to store tutor'
);
foreach ($tutor->getErrors() as $errorKey => $errorValue){
Log::write(
'emergency','Error with field '.$errorKey
);
}
}
不要忘记包含:use Cake\Log\Log;
运行代码并检查日志文件夹中的日志
,我在保存时更改了返回值并且可以测试错误
$result = $this->Tutors->save($NewTutor,[
我可以在 NewTutor 中出错
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。