0
當我試圖保存一個新的interviewTrack時,我得到了1048列'狀態'不能爲NULL。我已經填寫的所有領域,當我DD它表明我填寫Laravel 1048列不能爲NULL
這裏的結果時,我的DD的所有數據:
"driver_id" => "82"
"interviewTracks" => array:1 [▼
0 => array:5 [▼
"id" => ""
"track_date" => "2016-11-11"
"status" => "2"
"outcome" => "1"
"remark" => "ggg"
這裏是到目前爲止我節省代碼:
public function saveHandler(Request $request, $obj)
{
try {
DB::beginTransaction();
$obj->fill($request->all());
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 = $interviewTracks['track_date'];
$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');
}
}
有什麼想法?
確切位置在哪裏你把'dd'聲明? – linuxartisan
@linuxartisan它現在正在工作,但我得到另一個錯誤。未定義的索引:備註。 –
這是因爲你有'備註'字段,而不是'備註'。 – linuxartisan