我在auth/register
(Laravel Signup Auth)功能期间设置会话。当我尝试访问session
my_user_referral_session
时,我在auth/register
中设置了在注册后立即执行的方法。
我收到了以下错误
RuntimeException in Request.php line 870:
Session store not set on request.
我的Routes.php文件
Route::get("/dashboard","DashboardController@dashboard");
DashboardController.php
public function __construct() {
$this->middleware('auth');
}
public function dashboard() {
$request = new \Illuminate\Http\Request();
if($request->session()->has("my_user_referral_session")){
/* Reading session data set during Laravel auth/register
}
注意:当我使用session()
辅助方法时它没有任何错误,但我需要删除会话,这不是在session()
辅助方法中。
注意:$ this-> middleware('auth');在构造中。我怀疑这是造成问题的原因
您可以使用session()->forget('my_user_referral_session');
删除会话
会话不受请求的约束。
我觉得行
$request = new \Illuminate\Http\Request();
创建一个新的“空”请求,因此那里没有会话数据。
获取会话数据的最佳方法是使用session()帮助程序:
session('my_user_referral_session')
将返回您所需的信息,如果没有该密钥的会话数据,则返回null。