将值附加到现有会话Laravel 5

时间:2016-04-02 07:43:50

标签: php session laravel-5

在登录后,我将用户的值设置为会话,如此..

session()->set("user", $user);

要从我的应用程序中的任何位置获取会话的值,请将其附加到此$request $request->_user = $user;。所以我可以从任何地方得到它

$user = $request->_user;

我想在应用程序的中间传递一些采购订单的ID。我可以将它附加到现有会话或如何创建新会话并附加ID。使用该ID,页面重定向到paypal,如果用户取消付款,我可以用该ID识别他取消的付款。这就是为什么我认为会话会帮助我。成功付款后,可以销毁该会话。帮帮我!!!

1 个答案:

答案 0 :(得分:5)

您可以在用户使用您的应用程序时继续向会话附加数据。假设您要存储一系列购买ID,您可以执行以下操作:

session()->push('item_ids', 'item1');

session()->push('item_ids', 'item3');

这将创建一个数组,以便您以后可以保存用户尝试购买的所有ID:

$items = session('item_ids');

这将返回一个数组,其中包含您已推送到阵列的所有item_ids

[
  'item1',
  'item3'
]

成功购买后或在您保存已取消的购买详情后,只需开始新会话或删除item_ids。

// generate new session
session()->regenerate();

// delete item_ids
session()->forget('item_ids');