我试图创建像下面的代码会话,但会话不工作,请sussgest我任何解决方案。
保存
$data = array(
"id" => $row->id,
"name" => $row->name
);
Session($data);
取
Session('id');
我也试过网络中间件,但直到同一会话不工作
Route::group(['middleware' => ['web']], function ()
{
});
你应该remove web
middleware from routes解决会话问题。
另外,持久化数据的正确语法是:
session(['key' => $data]);
要获取数据:
session('key');
如果可以遵循以下步骤,会话将正常工作...
第一步:
在控制器中添加以下代码(其中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;
希望它会可行。
保存数据
session()->put('data' => $data);
获取数据
session()->get('data');
我的会话无法正常工作,因为我试图在控制器构造函数中放入和获取,而Laravel 5.3不支持在构造函数中直接放置和获取会话。如果要在构造函数中放置和获取会话,则需要在构造函数中添加以下代码。
function __construct()
{
$this->middleware(function ($request, $next)
{
});
}
使用会话就好
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