Laravel 4.2 : 在会话中保留多维数组数据
Laravel 4.2 : keep multidimensional array data in session
在我的 laravel 4.2 应用程序中,我想在会话中存储购物车项目的详细信息。
cartId =>[
0 => [
productId => x,
quantity => y
],
1 => [
productId => u,
quantity => v
],
2 => [
productId => l,
quantity => m
]
]
除了这个我没找到其他方法
Session::push('user.teams', 'developers');
用于在会话中存储为数组。
但同样不适用于这里
看来您可以直接在会话中插入数组。
$someArray = ['name' => 'John Doe', 'username' => 'jdoe'];
Session::put('user', $someArray);
当你想取回它的值时只需要:
$user = Session::get('user');
echo $user['name'] // output: John Doe
同样适用于多维数组...
你可以只将信息存储在需要的key中,如:
$cartDetails = [
0 => [
productId => x,
quantity => y
],
1 => [
productId => u,
quantity => v
],
2 => [
productId => l,
quantity => m
]
];
Session::put('cart', $cartDetails);
每个用户都有自己的购物车,您可以使用 Session::has('cart')
进行验证,Session::get('cart')
将为您提供 $cartDetails
的内容。
Session::forget('cart')
将从会话中删除密钥 'cart',这意味着 Session::has('cart')
== false 并且 Session::get('cart')
为 null
如果您打算使用密钥作为 Id(Session::put($cartId, $cartDetails) 中的某些内容),我不会建议您稍后使用,如果您需要添加一些内容同样的逻辑,您将破坏会话的密钥并可能覆盖它。如果其他人查看代码(或者甚至在不久的将来您)并需要阅读代码,同样适用,除非您阅读整个函数,否则对会话中的内容没有清晰的认识。 (海事组织)
在我的 laravel 4.2 应用程序中,我想在会话中存储购物车项目的详细信息。
cartId =>[
0 => [
productId => x,
quantity => y
],
1 => [
productId => u,
quantity => v
],
2 => [
productId => l,
quantity => m
]
]
除了这个我没找到其他方法
Session::push('user.teams', 'developers');
用于在会话中存储为数组。 但同样不适用于这里
看来您可以直接在会话中插入数组。
$someArray = ['name' => 'John Doe', 'username' => 'jdoe'];
Session::put('user', $someArray);
当你想取回它的值时只需要:
$user = Session::get('user');
echo $user['name'] // output: John Doe
同样适用于多维数组...
你可以只将信息存储在需要的key中,如:
$cartDetails = [
0 => [
productId => x,
quantity => y
],
1 => [
productId => u,
quantity => v
],
2 => [
productId => l,
quantity => m
]
];
Session::put('cart', $cartDetails);
每个用户都有自己的购物车,您可以使用 Session::has('cart')
进行验证,Session::get('cart')
将为您提供 $cartDetails
的内容。
Session::forget('cart')
将从会话中删除密钥 'cart',这意味着 Session::has('cart')
== false 并且 Session::get('cart')
为 null
如果您打算使用密钥作为 Id(Session::put($cartId, $cartDetails) 中的某些内容),我不会建议您稍后使用,如果您需要添加一些内容同样的逻辑,您将破坏会话的密钥并可能覆盖它。如果其他人查看代码(或者甚至在不久的将来您)并需要阅读代码,同样适用,除非您阅读整个函数,否则对会话中的内容没有清晰的认识。 (海事组织)