Почему данные сессий в моей базе данных отличаются от данных сессий, когда я использую сессию-> все? - PullRequest
0 голосов
/ 12 февраля 2020

Я пытаюсь использовать сеансы (мне нужно сохранить сеансы в mySql дБ) в моем приложении на laravel. Поэтому, когда я вхожу в систему (используйте стандартный LoginController. Это было сделано с php artisan в качестве моей таблицы сессий в БД), моя сессия сохраняется в БД, как мне нужно, но когда я использую $value = $request->session()->all(); в моем тестовом контроллере, я получаю данные, которые я не получаю не понимаю

Это в моем БД enter image description here

это то, что я получаю, когда использую session () -> all (); enter image description here

и если я хочу сохранить его (для теста) $request->session()->put(['user_id'=>889900]), то ничего не происходит

, поэтому. Какие данные, когда я использую сеанс () -> все () ;? Как я могу сохранить данные, что мне нужно в БД и когда мне нужно (я имею в виду контроллеры)?

сеанс. php
'driver' => env('SESSION_DRIVER', 'database'), 'connection' => env('SESSION_CONNECTION', null), 'table' => 'sessions',

.env
SESSION_CONNECTION=mysql SESSION_DRIVER=database

к сожалению, я не могу найти что-то полезное в документации к моему вопросу. Извините за мой английский sh и заранее благодарю

1 Ответ

1 голос
/ 12 февраля 2020

Полезная нагрузка в вашей базе данных, которую вы должны декодировать и десериализовать, чтобы вы могли получить тот же результат. Например:

    return Session::all();

и

    $data = DB::table('sessions')->get();

    return unserialize(base64_decode($data[0]->payload));

Для тех двоих вы должны иметь одинаковый результат.

Для нажатия key и value, session(['foo' => 'bar']); должно работать.

Надеюсь, я ответил на ваш вопрос.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...