数据库保存的会话 - 添加新数据

Udd*_*ers 6 php database cookies session laravel

我目前正在使用基于数据库的会话驱动程序,以允许我们在我们的应用程序中存储一些持久数据,

我们像这样创建会话:

Auth::loginUsingId($user->id);

$payload = [
    'user_id' => $user->id,
    'lobby_id' => $user->room_id,
    'name' => $user->name,
    'host' => $user->host,
    'avatar' => $user->avatar
];

session()->put('user', $payload);
session()->save();
$session_id = session()->getId();

$cookie = cookie('app_cookie', $session_id, 86400 * 30, null, null, false, false);
Run Code Online (Sandbox Code Playgroud)

我们使用创建的 cookie 作为识别用户的一种方式。

上面我们正在创建初始会话,当用户提交我们想要添加到用户已完成的当前会话的表单时。

所以我想我可以做这样的事情,

session()->put('user.completed_forms', 'form-1');
Run Code Online (Sandbox Code Playgroud)

我会假设这会在数据库中添加一个新的键值对,它会被编码,然后负载会在数据库中更新,但是,我看到一个新行完全是用新的 id 创建的。

我做错了什么是否可以更新数据库保存的会话有效负载而不在数据库中创建新行?由于用户 ID 可能有 000 行,我们在 cookie 中使用会话 ID,因此也不希望每个服务器请求都写入一个新的 cookie。