2016-11-11 20 views
0

私は新しい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'); 
    } 

} 
は、

+0

変更このライン

$interviewTracks->remarks = $interviewTracks['remarks'];

? – linuxartisan

+0

@linuxartisanそれは今動作していますが、別のエラーが発生しています。未定義のインデックス:備考。 –

+0

これは 'remark'フィールドではなく、' remark'フィールドであるからです。 – linuxartisan

答えて

1

あなたは

未定義のインデックス発言エラー

を得ている理由は、あなたがremarksフィールドを持っていないということです。正確にあなたが `dd`文を入れなかったこの

$interviewTracks->remarks = $interviewTracks['remark'];

+0

データベースに備考欄があり、最後に「s」を使用しています。 –

関連する問題