2017-06-03 19 views
0

コンパクトで配列をビューに渡そうとしていますが、私はこれをreturn view('dashboard',compact('user'));のようにすることはできますが、リダイレクトを使用したいと思います。 redirect('dashboard')->with(compact('user'));を使用すると、ダッシュボードビューにエラーundefined variable userが表示されます。何が問題なの?助けてください?laravelコンパクトでリダイレクトすると変数が渡されない

私のダッシュボード・ビューにリダイレクト私の方法

public function store(UsercreateRequest $request) 
{ 

    $image =$request->file('image'); 
    if($request->hasFile('image')) 
    { 
     if($image->isValid()) 
     { 

      $way=public_path('images'); 

      $extension=$image->getClientOriginalExtension(); 



       $name=$image->getClientOriginalName(); 
       //echo $name; 

      if(file_exists($way.'/'.$name)) 
      { 

       if($image->move($way,$name)) 
      { 

       //echo'ok '; //75485205 
       //echo $name; 
        $data= array_merge($request->all(),['image'=>$name]); 
       $user=$this->userRepository->store($data); 
       return redirect('dashboard')->with(compact('user')); 
      } 

      } 



     } 

    } 
    return redirect('signup')->withErrors(" L'enrisgrement n'a pas abouti !"); 
    // 
} 
+0

チェックこのhttps://stackoverflow.com/questions/38260375/laravel-5-1-redirect-with-variable –

答えて

0

リターンリダイレクト( 'ダッシュボード')の下に見つけてください - >()コンパクト( 'ユーザー')を持ちます。

これはできません。ルートdashboardには、ビューをロードする独自のコントローラメソッドがあります。したがって、リダイレクト時にデータを渡すことは効果がありません。あなた自身が言ったように、あなたの視界の応答を返す必要があります。

通常、新しいアイテムが保存されると、リダイレクトは新しく作成されたアイテムになります。新しいユーザーを作成しているので、ユーザーのプロフィールページがある場合は、おそらくユーザーのプロフィールページにリダイレクトできます。

return redirect('users/' . $user->id); 
+0

私は登録がそうリダイレクトした後、ダッシュボードにユーザーをリダイレクトsession'代わりに、そこに '何のロジックを使用しません代わりにログインしてください。 'リダイレクト( 'login') - > with( 'user'、$ user);' –

関連する問題