我的输入如下。
array:4 [
"_token" => "evktHCfCNZVQMNYXzntfHZkdNLZFqvOoYgU3yPKy"
"name" => "Name"
"orderId" => "5cb5943a6733a1555403834"
"amount" => null
]
我将其存储到这样的会话中:
public function store(Request $request)
{
request()->session()->put('bookingInfo', $request->input());
return redirect()->route('book.checkout');
}
现在,我想更改会话中的amount
值。我将如何实现这一目标?
答案 0 :(得分:1)
要更新值,您需要从会话中检索值并再次更新。
为此,您需要
$booking_info = $request->session()->get('bookingInfo');
然后您将获得一个数组。像普通数组一样更新
$booking_info["amount"] = 10; // anything you wanted
如果您需要将其重新放回会话中,可以执行此操作
$request->session()->put('bookingInfo', $booking_info);
编辑
如果您希望部分更新功能,则需要像这样单独存储。
$input = $request->all();
$request->session()->put('bookingInfo.name', $input['name']);
$request->session()->put('bookingInfo.orderId', $input['orderId']);
$request->session()->put('bookingInfo.amount', $input['amount']);
答案 1 :(得分:0)
Laravel 5+ //通过请求实例...
$request->session()->put('amount', 'value');
//通过全局助手...
session(['amount' => 'value']);
//要检索
session('amount');