2016-11-17 2 views
-4

は、私はいくつかのレコードを更新する必要があるLaravelに未定義の変数を修正し、これが私のブレードどのように5.2

<form class="form-vertical" role="form" method="post" action="/projects/{{ $project->id }}/collaborators/{{ $collaborator->user()->first()->id }}"> 

私のコントローラ

public function update(Request $request, $projectId, $collaboratorId) 
{ 
    $this->validate($request, [ 
      'status' => 'required', 
     ]); 

     DB::table('permissions') 
      ->where('project_id', $projectId) 
      ->where('collaborator_id', $collaboratorId) 
      ->update(['status' => $request->input('status')]); 

     return redirect()->back()->with('info','Your Permission has been updated successfully'); 



} 

ルート

Route::put('projects/{projects}/collaborators/{id}',['uses'=>'[email protected]',]); 

クリックでフォームアクションでします更新ボタンが次のエラーを生成する

Undefined variable: project (View: C:\Users\Nalaka\Desktop\c\resources\views\collaborators\permissionedit.blade.php) 

これを修正するにはどうすればよいですか?

+0

ここでプロジェクト変数をどこで使用しようとしているのかわかりません。 –

+0

私のフォームの動作を確認してください – Fernando

答えて

0

ルートRoute::put('projects/{projects}/collaborators/{id}',['uses'=>'[email protected]',]);でPUTリクエストを送信する必要があります。あなたのフォームはPOSTリクエストを送信します。

あなたのルートをRoute::postで変更するか、いくつかのjavascriptを使用してajaxでPUTリクエストを送信してください。

これを試してみてください。その後に他のエラーがあるかどうかを見てみましょう。 また、 "未定義変数"がある場合は、この変数の周辺にコードを表示してください。

+0

ここで同じエラーが発生します – Fernando

+0

あなたのメソッド 'update'はリダイレクトを行います。それはどこに行くの?変数 "project"がそこにないと思われます。 –

+0

私はこの変数をMy view @ifに持っています(isset($ permissions))。 ) @foreach($ permissionとしての$ permission) と@if(isset($ project) – Fernando

関連する問題