我在Laravel第一次使用会话,我正在尝试做一个多步骤表单,所以我认为使用会话将是一个聪明的举动。但是下面的代码返回一个空值,我做错了什么?
$user_information = [
"name" => $request->name,
"email" => $request->email,
"remember_token" => $request->_token,
"password" => bcrypt($request->password),
"role_id" => 3
];
session('user_signup', $user_information);
dd(session('user_signup'));
答案 0 :(得分:1)
在您的控制器中,您可以将变量保存到会话中,如
session()->put('user_signup',$user_information);
用于检查控制器中的会话变量
session->has('user_signup','default value');
用于删除控制器中的会话变量
session()->forget('user_signup');
用于检查会话变量(如果存在于刀片中并将其打印出来)
@if(session()->has('user_signup'))
session()->get('user_signup')
@endif
答案 1 :(得分:0)
试试这个
session(['user_signup'=> $user_information]);
或
session()->put('user_signup',$user_information);
您可以通过记录来检查会话
Log::info(Session::get('user_signup'));
检查你的日志文件应该在那里。
Laravel docs链接 - https://laravel.com/docs/5.4/session#storing-data
答案 2 :(得分:0)
首先:您在会话中添加了一些内容 第二:检查storage / framework / session文件夹,如果您的会话正常,则可以立即在会话文件夹中查看会话数据
如果保存会话,并且会话文件夹仍为空:
首先更改'driver'=> env('SESSION_DRIVER','file') 到'driver'=> env('SESSION_DRIVER','array')和'driver'=> env('SESSION_DRIVER','database')
第二次将存储/框架/会话权限设置为755
最后进入您的内核文件,并在“ api”中添加以下代码
'api' => [
//add this bellow two line
\App\Http\Middleware\EncryptCookies::class,
\Illuminate\Session\Middleware\StartSession::class,
'throttle:60,1',
'bindings',
],
然后再次检查您的会话文件夹,如果您将任何内容放入任何会话中,现在应该在此文件夹中看到它们,则可以删除会话文件夹中的文件,再次使用该会话将内容保存在其中,然后返回会话文件夹,然后看到会话文件夹不再是空的,并且完成了,会话文件夹的图像
答案 3 :(得分:0)
我已经对此进行了测试并且一直在努力,然后我意识到在使用 dd()
后我永远不应该使用 session()
(转储和死亡方法),因为您正在阻止系统在 {{ 1}}。
我不太确定,但它对我有用..如果这是真的,请告诉我。