Laravel 5.5:重定向路由并将变量传递到其他路由,然后控制器显示在视图上

Laravel 5.5:重定向路由并将变量传递到其他路由,然后控制器显示在视图上,laravel,laravel-5,Laravel,Laravel 5,我在AuthController上做逻辑 // AuthController $userPoint = $this->getLoginPoint($getUserUpdate); return redirect()->intended(route('page.top_page')); 我想将变量$userPoint传递给其他控制器(PageController) 这是我的页面控制器 Route::get('/top-page', 'PageController@topPage')-

我在AuthController上做逻辑

// AuthController
$userPoint = $this->getLoginPoint($getUserUpdate);
return redirect()->intended(route('page.top_page'));
我想将变量$userPoint传递给其他控制器(PageController)

这是我的页面控制器

Route::get('/top-page', 'PageController@topPage')->name('page.top_page');
// PageController
public function index()
{
 // I want to receive variable $userPoint here
 return view('toppage', compact('UserPoint'));
}

会议: 使用 可以帮助您从其他控制器操作获取数据

如果您的
$userPoint
是字符串或整数,只需将其置于会话中即可

如果它是模型实例,则可以存储其
id
。在其他控制器中 使用
id
查找您的
userPoint

//AuthController
$userPoint=$this->getLoginPoint($getUserUpdate);
$request->session()->put('userPoint',$userPoint);
return redirect()->预期(路由('page.top_page');
公共功能索引(请求$Request)
{
$userPoint=$request->session()->get('userPoint');
返回视图('toppage',compact('userPoint');
}
最后,记得在注销后清除userPoint

Redis: 像会话一样使用redis。但是,您需要先安装redis

使用light\Support\Facades\Redis;
...
$userPoint=$this->getLoginPoint($getUserUpdate);
Redis::set('userPoint',$userPoint);
return redirect()->预期(路由('page.top_page');
并从另一个控制器获取用户点

// AuthController
$userPoint = $this->getLoginPoint($getUserUpdate);
return redirect()->intended(route('page.top_page'));
使用light\Support\Facades\Redis;
...
公共职能指数()
{
$userPoint=Redis::get('userPoint');
...

最后,记得在注销后清除用户点。

我已经更新了我的答案。太好了,谢谢