php - Laravel 会话值从会话中删除
问题描述
我正在使用服务提供者在模型中创建会话,但是当我尝试在另一个页面上获取会话值时,它不会显示任何内容。
服务提供者 (Projectfunction.php)
public function test1(){
$student_model = new \App\Config();
return $student_model->createSession();
}
public function test2(){
$student_model = new \App\Config();
print_r($student_model->viewSession_v1());
}
模型(Config.php)
public function createSession(){
session()->put('email', 'abcd123');
}
public function viewSession_v1(){
$data = session()->get('email');
return $data;
}
从控制器我要么使用project_function()->test1()
要么project_function()->test2()
。
当我分别调用这两个test2()
时不会显示任何会话值,但如果我从那时调用test2()
它将test1()
显示会话值。我不知道为什么。是否有任何规则仅从控制器创建会话?因为我试图从几个控制器中做到这一点并且它工作正常。(我在不同的控制器中创建了单独的显示会话代码,在单个控制器中创建了单个会话代码,它工作正常,为什么它不能在模型和服务提供商中工作?)
解决方案
下面的代码创建一个会话并为我工作。
\Session::put('email', 'abcd123@abc.com');
\Session::save();
推荐阅读
- haskell - 具有头部功能的 Haskell 懒惰问题
- javascript - 如何在带有nodejs的forloop中使用mysql查询
- java - 即使类是公共的,子类的Java错误访问方法
- javascript - 基于分层数据的 TR id 的条件总和
- asp.net-mvc - 从模型返回sql查询数据到控制器
- java - 递归计数
- node.js - Node.js & Express:如果服务器正在运行,则无响应
- flutter - BlocProvider 在继承的小部件中不可用
- sql - SQL 舍入到小数点后 2 位问题
- django - DATA_UPLOAD_MAX_MEMORY_SIZE 不限制 POST 发送的数据大小