Невозможно получить значение хранилища сеансов laravel 5.4 - PullRequest
0 голосов
/ 17 октября 2018

введите описание изображения здесь Я сохраняю свой идентификатор пользователя при нажатии на список разных пользователей, используя этот метод для сохранения user_id в сеансе

Session::put('user_id', $request->id);

и получая это user_id в другом методе контроллера, используя

$id = Session::get('user_id');

, но каждый раз, когда я получаю разные списки пользователей, я получаю один и тот же идентификатор вместо другого.Что я делаю неправильно?Нужно ли уничтожать сеанс?Значение сеанса не переопределяется.

Ответы [ 4 ]

0 голосов
/ 17 октября 2018

Добавьте приведенный ниже код поверх объявления вашего класса

use Session;

и в вашей функции добавьте нижеприведенный код для печати всех значений сеанса

$arrMixSessionData   = Session::all();
echo '<pre>';
print_r($arrMixSessionData);
echo '<pre/>';

Чтобы извлечь выбранную переменную сеанса,вам нужно добавить переменную запроса в объявление функции и использовать ее следующим образом:

function test(Request $request){
    $value = $request->session()->get('key', 'default');
}

Надеемся, это вам поможет.

0 голосов
/ 17 октября 2018

Вы проверяли, сохраняете ли вы в сеансе хороший $ request-> id?

0 голосов
/ 17 октября 2018

Если вам не нужен сеанс user_id один раз после его использования, вы можете использовать следующее.

Получение и удаление элемента.

$id = $request->session()->pull('user_id', 'default')]);

Метод извлечения будет извлекать иудалить элемент из сеанса Подробнее: https://laravel.com/docs/5.1/session

0 голосов
/ 17 октября 2018

Вы можете использовать глобальный помощник сеанса для хранения данных в сеансах

session(['key' => 'value']);

извлекать данные, используя глобальный помощник

$value = session('key');

, или вы можете использовать экземпляр запроса

$request->session()->put('key', 'value');

извлечение данных с использованием экземпляра запроса

$value = $request->session()->get('key', 'default');

подробнее ссылка

...