【发布时间】:2017-03-24 18:22:25
【问题描述】:
这是我的面试表格“YYYY-MM-DD”中的 start_date 字段格式。
问题是当我没有填写 start_date 字段时我无法保存。
到目前为止,这是我的保存处理程序代码:
public function saveHandler(Request $request, $obj)
{
try {
DB::beginTransaction();
$obj->fill($request->all());
$obj->start_date = isset($interviewTracks['start_date']) ? $interviewTracks['start_date'] : 'YYYY-MM-DD';
if (!$obj->save()) {
throw new ValidationException($obj->errors());
}
foreach($request->interviewTracks as $interviewTracks) {
if (empty($interviewTracks['id'])) {
$interviewTracks = new InterviewTrack();
}
else {
$interviewTracks = InterviewTrack::find($interviewTracks['id']);
}
$interviewTracks->interview()->associate($obj);
$interviewTracks['interview_id'] = isset($interviewTracks['interview_id']);
$interviewTracks->status = $interviewTracks['status'];
$interviewTracks->track_date = isset($interviewTracks['track_date']) ? $interviewTracks['track_date'] : 'YYYY-MM-DD';
$interviewTracks->outcome = $interviewTracks['outcome'];
$interviewTracks->remarks = $interviewTracks['remarks'];
$interviewTracks->save();
};
if (!$interviewTracks->save()) {
throw new ValidationException($interviewTracks->errors());
}
DB::commit();
return $this->sendSuccessResponse($request);
} catch (ValidationException $e) {
DB::rollback();
\Log::error($e->errors);
return $this->sendErrorResponse($request, $e->errors);
} catch (Exception $e) {
DB::rollback();
\Log::error($e->getMessage());
return $this->sendErrorResponse($request,'Unable to process. Please contact system Administrator');
}
}
有什么想法吗?
【问题讨论】:
-
我想你在数据库中的 start_date 是'DATE'类型,但是当你没有填写日期时,你会尝试插入一个字符串
YYYY-MM-DD。 -
如果您的数据库中的 start_date 字段是字符串,则不会有问题。您的字段是什么列类型?
-
@AbdouTahiri 日期类型
-
@VitaliiSrimbanuis 是的,它是 DATE 类型,有什么办法可以“欺骗”它吗?