2016-12-30 2 views
1

Я пытаюсь создать сеанс, как показано ниже кода, но сеанс не работает, пожалуйста, перепутайте меня с любым soluton.Сессия, не работающая в laravel 5.3

Сохранить

$data = array(
    "id" => $row->id, 
    "name" => $row->name 
); 

Session($data); 

Fetch

Session('id'); 

Я также попытался веб промежуточного слоя, но до той же сессии не работает

Route::group(['middleware' => ['web']], function() 
{ 

}); 
+0

Где вы пытаетесь? В контроллере или где-нибудь еще? – C2486

+0

i m сохранение и получение сеанса в классе модели –

+0

Какой-либо ответ, приведенный ниже, работал на вас? – C2486

ответ

0

Вы должны remove web middleware from routes, чтобы устранить проблему с сеансами.

Также правильный синтаксис для сохраняющихся данных является:

session(['key' => $data]); 

Чтобы получить данные с помощью:

session('key'); 
+0

Я не использую теперь промежуточное программное обеспечение, но выдаю до того же самого. –

+0

Использование промежуточного программного обеспечения 'web' будет определенно нарушать сеансы, поэтому проверьте, добавили ли вы его вручную в другое место. Кроме того, запустите команду «php artisan route: clear», чтобы очистить кеш маршрута. –

1

Сохранить данные

session()->put('data' => $data); 

Получить данные

session()->get('data'); 
+0

не работает такой же пустой ответ –

0

Моей сессия не работает б ecause Я попытался установить и получить в конструкторе контроллера, а Laravel 5.3 не поддерживает непосредственный ввод и выбор сеанса в конструкторе. Если вы хотите поместить и выбрать сеанс в конструкторе, вам нужно добавить код ниже в конструкторе.

function __construct() 
{ 
    $this->middleware(function ($request, $next) 
    { 

    }); 
} 
0

Сессия будет работать нормально, если следующий шаг может быть выполнен ...

Первый шаг:

Добавьте следующий код внутри контроллера (где Session будет использоваться для сохранения данных)

use Session; 

Второй шаг:

Внутри метода этот контроллер, код сеанса, как показано ниже:

Session::put('name', 'Sabuz'); 
Session::put('data', $data); 

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

Третий шаг:

Эти данные можно просматривать с любого места, используя команду до тех пор, что данные

$name = Session::get('name'); //get method just use the key of a put method 
echo $name; 

Надеюсь, он будет работоспособен.