2016-08-05 55 views
0

我試圖填充數據來編輯窗體。這裏是我的模型加載數據到窗體的ID更新laravel 5.2

public function EditBatch($id,$request){ 

    $data= DB::table('in_batch') 
     ->where('id', $id) 
     ->update(array(
      'id'=>$request->input('id'), 
      'file_name' => $request->input('file_name'), 
      'batch_type' => $request->input('batch_type'), 
      'activity_type' => $request->input('activity_type'), 
      'schedule_time' => $request->input('schedule_time'), 
      'predecessor' => $request->input('predecessor'), 
      'priority' => $request->input('priority'), 
      'batch_remark'=>$request->input('batch_remark'), 
      'approved_by' => Auth::user()->id, 
      'approved_on'=>date("Y-m-d H:i:s"), 
     )); 
    return $data; 
} 

這裏是我的控制器

public function edit($id){ 
    $obatch = new BatchType(); 
    $batch_type = $obatch->GetBatchTypeDropDown(); 
    $batch = new ManageBatch(); 
    $batch->GetBatchById($id); 
    return view('batch.edit', array('batch'=>$batch,'batch_type'=>$batch_type)); 
} 

這是我的看法

{!! Form::open (array('url' => array('batch/update',$batch->id), 'class' => 'form-horizontal', 'method' => 'post','id'=>'editbatch')) !!} 

    <div class="form-group"> 
      {!! Form::label('batch_id', 'batch_id',array('class'=>'col-md-4 control-label')) !!} 


     <div class="col-md-6"> 
      {!! Form::text('batch_id',$batch->id,array('class'=>'form-control','id'=>'batch_id')) !!} 
     </div> 

    </div> 
{!! Form::close() !!} 

當我試圖加載數據到視圖如上錯誤顯示

未定義的屬性:App \ Models \ Batch \ ManageBatch :: $ id(查看:C:\ wamp \ www \ hutch-in-portal \ resources \ views \ batch \ edit.blade.php)

如何解決這個問題?

三江源

+0

範你解釋你的'編輯($ id)'方法,請解釋每行 – Qazi

+0

請在編輯方法中添加解釋每個函數的代碼。在檢索數據時,很可能你沒有調用'get()'或'first()'方法。 – jaysingkar

+0

其實在這段代碼中有很多不好的做法。不需要逐個獲取每個請求參數或手動設置用戶標識。讓Laravel爲你做好工作,建立雄辯的關係並使用request-> all() - 爲什麼你有一個GetBatchById函數?使用 - > find()|如果這是一個編輯視圖然後使用表單模型綁定來輕鬆設置默認數據 –

回答

0

以及我找到了解決辦法和錯誤是在控制器方法

公共功能編輯($ ID)

{ 
    $obatch = new BatchType(); 
    $batch_type = $obatch->GetBatchTypeDropDown(); 
    $ouser = new ManageBatchUser(); 
    $batch_user = $ouser->GetUserDropDown(); 
    $batch = new ManageBatch(); 
    $batch_details=$batch->GetBatchById($id); 

    return view('batch.edit',array('batch_details'=>$batch_details[0],'batch_type'=>$batch_type,'batch_user'=>$batch_user)); 


} 

因爲我傳遞一個單列的查看。我必須添加索引[0]作爲回報。最後它工作