我是laravel框架的新手。任何人都可以告诉我如何在访问cms页面时删除会话,即(faq,隐私政策,关于我们)。这个查询对我运行正常: -
$request->session()->forget('key');
问题是,当我访问faq页面时,我已经编写了此查询,当我访问隐私策略时,我再次编写此查询。任何人都可以告诉我如何在一个功能。所以我没有一次又一次地实现这个查询
提前致谢:)
答案 0 :(得分:2)
创建一个名为forgetSession的中间件(您可以拥有任何名称),并在该中间件下的app \ Http \ routes.php中设置cms页面路由组,例如。
Route::group(['middleware' => ['forgetSession']], function () {
Route::resource('faq', 'faqController');
Route::resource('privacy', 'privacyController');//likewise
});
现在通过在cmd项目根目录上编写以下命令来创建中间件
php artisan make:middleware forgetSession
因此它将在app / Http / middleware / forrgetSession中创建中间件 并把你的代码
$request->session()->forget('key');
因此,通过这种方式,路由组下提到的所有路由都将具有忘记会话的代码。这种方式绝对可以使代码冗余。
答案 1 :(得分:0)
您可以删除控制器上的会话 在控制器构造方法中调用它
$request->session()->forget('key'); //remove by key
$request->session()->flush(); // remove all