首页 > 解决方案 > 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()显示会话值。我不知道为什么。是否有任何规则仅从控制器创建会话?因为我试图从几个控制器中做到这一点并且它工作正常。(我在不同的控制器中创建了单独的显示会话代码,在单个控制器中创建了单个会话代码,它工作正常,为什么它不能在模型和服务提供商中工作?)

标签: phplaravellaravel-5

解决方案


下面的代码创建一个会话并为我工作。

\Session::put('email', 'abcd123@abc.com');
\Session::save();

推荐阅读