私は新しいinterviewTrackを保存しようとしていますが、1048列の 'status'をNULLにすることはできません。私はすべてのフィールドを埋めてきた、と私はddをするとき、それは私がそれをddをするときLaravel 1048列をNULLにすることはできません
がここに結果の塗りつぶしのすべてのデータを示しています
ここ"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');
}
}
は、
へ
変更このライン
$interviewTracks->remarks = $interviewTracks['remarks'];
? – linuxartisan
@linuxartisanそれは今動作していますが、別のエラーが発生しています。未定義のインデックス:備考。 –
これは 'remark'フィールドではなく、' remark'フィールドであるからです。 – linuxartisan