这是我的代码
class CreateSessionsTable extends Migration
{
public function up()
{
Schema::create('sessions', function (Blueprint $table) {
$table->string('id')->unique();
$table->text('payload');
$table->integer('last_activity');
});
}
public function down()
{
Schema::drop('sessions');
}
}
在config/session.php
文件已更改'driver' => env('SESSION_DRIVER', 'database'),
在DB表中创建了。
当用户登录时,我使用下面的代码将值推送到会话
Session::put('userid', $userid);
Session::put('useremail', $useremail);
然后我检查了会话的另一种方法
$data = Session::all();
var_dump($data);
它像这样返回,
array (size=3)
'_token' => string 'kD3zC2YF4v63RF1EkAVe0YoM4zLj9kGtiV4vpEzG' (length=40)
'_previous' =>
array (size=1)
'url' => string 'http://localhost/Login' (length=28)
'flash' =>
array (size=2)
'old' =>
...
那么如何从db获取该用户值。
答案 0 :(得分:1)
添加
后Session::save();
工作正常
答案 1 :(得分:0)
您使用的是哪种Laravel版本?如果是5.3,请尝试以下操作:
//Store value
$request->session()->put('key', 'value');
//Get value
$value = $request->session()->get('key', 'valueIfItsNotReturned');
第二个参数是如果会话中不存在密钥将返回的默认值。
如果它不起作用,请通过将会话驱动程序更改为文件来查看是否出现同样的问题。