laravel redirect with compact不传递变量

时间:2017-06-03 05:18:48

标签: php laravel-5.3

我正在尝试将带有压缩的数组传递给视图,我知道我可以像return view('dashboard',compact('user'));这样做,但我想使用重定向。当我使用redirect('dashboard')->with(compact('user'));时,它会在我的信息中心视图中显示错误undefined variable user。可能是什么问题呢 ?有什么帮助吗?

请在下方找到重定向到我的信息中心视图的方法

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 !");
    //
}

2 个答案:

答案 0 :(得分:0)

返回重定向('信息中心') - > with(compact(' user'));

你做不到。路由dashboard将拥有它自己的控制器方法,该方法将加载视图。因此在重定向期间传递数据将不起作用。你需要返回视图响应才能像你自己所说的那样工作。

通常,当存储新项目时,重定向将是新创建的项目。由于您正在创建新用户,因此如果您有用户,可能会重定向到用户的个人资料页面。

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

答案 1 :(得分:0)

晚于节目,但如果有人碰到该页面并需要答案:您可以将关联数组传递给redirect('dashboard')->with([ 'user' => $user, 'foo' => 'bar', 'dinner' => 'dolma' ]);

return redirect('login')->with('user',$user);

如果$user为您工作,并且您可以在“登录”视图中使用$foo,则表示您的设置正确,并且可以使用$dinner和{{ 1}}。