会议不在laravel 5.3中工作

问题描述 投票:1回答:6

我试图创建像下面的代码会话,但会话不工作,请sussgest我任何解决方案。

保存

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

Session($data);

Session('id');

我也试过网络中间件,但直到同一会话不工作

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

});
php laravel session session-variables laravel-5.3
6个回答
2
投票

你应该remove web middleware from routes解决会话问题。

另外,持久化数据的正确语法是:

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

要获取数据:

session('key');

2
投票

如果可以遵循以下步骤,会话将正常工作...

第一步:

在控制器中添加以下代码(其中Session将用于保存数据)

use Session;

第二步:

在该控制器的方法内部,会话代码如下所示:

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

任何数据都可以保存,但要确保put方法的第一个参数是关键,第二个是它的值

第三步:

只要会话对该数据进行龋齿,就可以使用以下命令从任何地方查看该数据

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

希望它会可行。


0
投票

保存数据

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

获取数据

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

0
投票

我的会话无法正常工作,因为我试图在控制器构造函数中放入和获取,而Laravel 5.3不支持在构造函数中直接放置和获取会话。如果要在构造函数中放置和获取会话,则需要在构造函数中添加以下代码。

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

   });
}

0
投票

我最近解决了这个问题。

如果您尝试在会话中保存数组,或者如果要将数据推送到会话中,请尝试以下操作。

解:

首先将Kernal.php转到“app \ Http \ Kernel.php”并将此行qazxsw poi添加到$ middleware数组中。这将开始存储数据。

\Illuminate\Session\Middleware\StartSession::class,


对于会话数组

enter image description here


对于单值

将session_key替换为您想要的变量。

Session::push('cart', $product);


-1
投票

使用会话就好

Session::put('session_key');

设置会话:

use Illuminate\Support\Facades\Session;

查看文件 :

 Session::flash('key', 'Value');

参考:@if(Session::has('key')) <div class="alert-success"> {{ Session::get('key') }} </div> @endif https://laravel.com/docs/5.3/facades#facade-class-reference

© www.soinside.com 2019 - 2024. All rights reserved.