laravel 压缩重定向不传递变量
laravel redirect with compact does not pass variable
我正在尝试将紧凑的数组传递给视图,我知道我可以这样做 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 !");
//
}
return 重定向('dashboard')->with(紧凑('user'));
你不能那样做。路由 dashboard
将拥有自己的控制器方法来加载视图。因此在重定向期间传递数据不会有任何效果。您需要 return 查看响应才能像您自己所说的那样工作。
通常,当存储新项目时,重定向将指向新创建的项目。由于您正在创建一个新用户,如果您有一个用户的个人资料页面,您可能会重定向到该用户的个人资料页面。
return redirect('users/' . $user->id);
演出晚了,但万一有人进入此页面并需要答案:您可以将关联数组传递给 with
:
redirect('dashboard')->with([
'user' => $user,
'foo' => 'bar',
'dinner' => 'dolma'
]);
如果 return redirect('login')->with('user',$user);
适合您并且您可以在 'login' 视图中使用 $user
,这意味着您的设置是正确的,您将能够使用 $foo
和 $dinner
。
我正在尝试将紧凑的数组传递给视图,我知道我可以这样做 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 !");
//
}
return 重定向('dashboard')->with(紧凑('user'));
你不能那样做。路由 dashboard
将拥有自己的控制器方法来加载视图。因此在重定向期间传递数据不会有任何效果。您需要 return 查看响应才能像您自己所说的那样工作。
通常,当存储新项目时,重定向将指向新创建的项目。由于您正在创建一个新用户,如果您有一个用户的个人资料页面,您可能会重定向到该用户的个人资料页面。
return redirect('users/' . $user->id);
演出晚了,但万一有人进入此页面并需要答案:您可以将关联数组传递给 with
:
redirect('dashboard')->with([
'user' => $user,
'foo' => 'bar',
'dinner' => 'dolma'
]);
如果 return redirect('login')->with('user',$user);
适合您并且您可以在 'login' 视图中使用 $user
,这意味着您的设置是正确的,您将能够使用 $foo
和 $dinner
。