2016-11-11 86 views
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'); 
    } 

} 

有什麼想法?

+0

確切位置在哪裏你把'dd'聲明? – linuxartisan

+0

@linuxartisan它現在正在工作,但我得到另一個錯誤。未定義的索引:備註。 –

+0

這是因爲你有'備註'字段,而不是'備註'。 – linuxartisan

回答

1

你得到

未定義指數之所以言論錯誤

是,你不必remarks場。

改變這一行

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

這個

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

+0

我在數據庫中有註釋字段,最後使用's'。 –

相關問題