Обновление значения сеанса только одного ключа в laravel - PullRequest
0 голосов
/ 16 апреля 2019

У меня есть вход, как показано ниже.

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 в сеансе. Как я собираюсь этого добиться?

Ответы [ 2 ]

1 голос
/ 16 апреля 2019

Чтобы обновить значение, вам нужно извлечь значения из сеанса и обновить его снова.

Чтобы сделать это, вам нужно сделать

$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']);
0 голосов
/ 16 апреля 2019

Laravel 5+ // Через экземпляр запроса ...

$request->session()->put('amount', 'value');

// Через глобального помощника ...

session(['amount' => 'value']);

// Для получения

session('amount');
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...