[英]Laravel - Get items from session array
I'm making a step program and therefore I wanted to use sessions. 我正在编写步进程序,因此我想使用会话。 I have a form which allows the user to fill in some information and then the input values will be put in a session array called "basic_settins" like this
我有一个允许用户填写一些信息的表格,然后将输入值放在这样的称为“ basic_settins”的会话数组中
public function saveSettings(Request $request, Product $products)
{
$request->session()->push('basic_settings', $request->input());
return redirect('/themes');
}
But how can I get a specific item from that array and display it for instance in my view? 但是,如何从该数组中获取特定项目并在我的视图中显示它呢? By using something like this:
{{ Session::get('store_name') }}
in an input field. 通过在输入字段中使用类似
{{ Session::get('store_name') }}
的内容。
The view looks like this: 该视图如下所示:
@extends('layouts.app')
@section('content')
<div class="container">
<div class="row">
<div class="col-md-12">
<form method="POST" action="{{ route('saveBasicSettings') }}">
<div class="row">
<div class="col-md-12">
<button class="btn btn-primary mb-3 float-right">Next</button>
</div>
</div>
<div class="card z-depth-2" style="border-radius: 7px;">
<div class="card-body">
<input type="hidden" name="user_id" value="{{ Auth::user()->id }}">
{{ csrf_field() }}
<div class="form-group">
<label for="store_name">Store name</label>
<input type="text" class="form-control" placeholder="Store name" id="store_name" name="store_name" value="{{ Session::get('store_name') }}" required>
</div>
<div class="form-group">
<label for="company name">Company name</label>
<input type="text" class="form-control" placeholder="Company name" id="company_name" name="company_name" value="{{ Session::get('company_name') }}" required>
</div>
<div class="form-group">
<label for="company_tel">Company phonenumber</label>
<input type="text" class="form-control" placeholder="Company Phonenumber" id="company_tel" name="company_tel" value="{{ Session::get('company_tel') }}" required>
</div>
</div>
</div>
</form>
</div>
</div>
</div>
@endsection
When I dd the request by doing this: $data = $request->session()->all();
当我通过以下方式添加请求时:
$data = $request->session()->all();
and then dd($data);
然后
dd($data);
I get the following result: 我得到以下结果:
How can I make this work? 我该如何进行这项工作? Thanks in advance!
提前致谢!
When you're using push()
, an array will be created, so you need to do something like this: 当您使用
push()
,将创建一个数组,因此您需要执行以下操作:
{{ session('basic_settings.0.company_name') }}
Or: 要么:
{{ session('basic_settings')[0]['company_name'] }}
But I would recommend you to save the data with: 但我建议您使用以下方式保存数据:
{{ session(['basic_settings' => request()->all()]) }}
Then you'll be able to read it with: 然后,您可以使用以下内容阅读它:
{{ session('basic_settings.company_name') }}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.