Laravel 5.2-调用未定义的方法Illumb\Support\Facades\Request::session()
我正在使用Laravel 5.2中的会话,以下是我的控制器代码:Laravel 5.2-调用未定义的方法Illumb\Support\Facades\Request::session(),session,laravel-5.2,Session,Laravel 5.2,我正在使用Laravel 5.2中的会话,以下是我的控制器代码: if ($request->session()->has('username')) { return view('dashboard'); } 我需要使用会话,并出现以下错误: HomeController.php第21行中的FatalErrorException:调用undefined 方法\Support\Facades\Request::session() 如何解决此问题?不确定从哪里发出$re
if ($request->session()->has('username')) {
return view('dashboard');
}
我需要使用会话,并出现以下错误:
HomeController.php第21行中的FatalErrorException:调用undefined
方法\Support\Facades\Request::session()
如何解决此问题?不确定从哪里发出
$request
,但很可能是注入了错误的类型
如果您只需要$request
实例,则需要使用illighted\Http\request
有点像你正在注射门面
Request
(在根命名空间中)是带别名的外观
illighted\Http\Request
是您想要实例的实际请求类。嘿,如果您使用的是laravel 5.2,这对我来说很有用
将控制器放入“web”中间件中。像
Route::group(['middleware' => 'web'], function() {
//routes here
});
并确保内核文件已注册中间件类
/**
* The application's route middleware groups.
*
* @var array
*/
protected $middlewareGroups = [
'web' => [
\Perkweb\Http\Middleware\EncryptCookies::class,
\Illuminate\Cookie\Middleware\AddQueuedCookiesToResponse::class,
\Illuminate\Session\Middleware\StartSession::class,
\Illuminate\View\Middleware\ShareErrorsFromSession::class,
\Perkweb\Http\Middleware\VerifyCsrfToken::class,
],
'api' => [
'throttle:60,1',
],
];
您可以尝试这样的会话外观 在最上面
use Session;
在控制器方法中
if (Session::has('username')) {
return view('dashboard');
}
只需将变量$request更改为另一个变量名即可。例如,$requestApp 代码如下:
if ($requestApp->session()->has('username')) {
return view('dashboard');
}
因为$request默认属于use\Http\request 尝试将此文件放在文件开头:
use Illuminate\Http\Request;
我也遇到了同样的问题,用这种方法解决了。好吧,它在控制器上。我已经在顶部定义了use\Http\Request。但是session has()方法不起作用。该错误意味着注入的类是错误的。因此,除非你帖子中的错误得到解决,否则你甚至不能打到
has
电话。我也是这么做的。但我想我找到了问题所在。我的问题是,我无法使用$request->session->has('key')
。问题是我刚刚创建了类似于session('key')
的会话。但是如果我使用了$request->session()->put('key','value')代码>那么它可能会工作!干得好。。你发现了你的问题…;)正确的。不过还是要谢谢你确保添加使用light\Http\Request代码>