Php 如何在会话中存储数据数组并检索它?
我试图通过ajax在会话中存储一些数据。意味着从Ajax请求中,我将获得产品id,并通过会话将其放入产品数组中。我想检索每个会话数组数据 每个Ajax请求Php 如何在会话中存储数据数组并检索它?,php,arrays,laravel,session,laravel-5,Php,Arrays,Laravel,Session,Laravel 5,我试图通过ajax在会话中存储一些数据。意味着从Ajax请求中,我将获得产品id,并通过会话将其放入产品数组中。我想检索每个会话数组数据 每个Ajax请求产品\u id都将存储到会话数组中: //用于将$products存储到会话跟踪控制器中。但它只存储最后一个,而不是上一个请求 public function postEnquote(Request $request) { $product = Product::where('id',$request->Input(
产品\u id
都将存储到会话数组中:
//用于将$products存储到会话跟踪控制器中。但它只存储最后一个,而不是上一个请求
public function postEnquote(Request $request)
{
$product = Product::where('id',$request->Input(['product_id']))->first();
Session::put('product', $product);
}
//为了检索我使用的每一个会话数据,我使用了下面的一个,但工作不正常,这意味着我无法获取每一个会话数据
public function enquoteList()
{
foreach(Session::get('product') as $test)
{
var_dump($test->id);
}
}
您必须在此处使用
push
Session::push('product',$product)代码>
因此,所有新的$product
推送到'product'
会话变量中。您必须在此处使用推送
Session::push('product',$product)代码>
因此,所有新的$product
推入'product'
会话变量。用于向数组添加值
public function postEnquote(Request $request)
{
$product = Product::where('id',$request->Input(['product_id']))->first();
Session::push('product', $product);
}
用于向数组中添加值
public function postEnquote(Request $request)
{
$product = Product::where('id',$request->Input(['product_id']))->first();
Session::push('product', $product);
}
为什么不直接使用$\u会话
superglobal?SESSION::put('product',$product)代码>-您每次都会覆盖它,而不是附加它。如果需要多个产品,则必须在会话中将其存储为数组。@RobertRocha最好使用抽象,这样他就可以交换实现。如果他使用的是像这样硬编码的$\u会话
,那么在整个应用程序中更改它将是一件痛苦的事情。为什么不直接使用$\u会话
超级全局?会话::put('product',$product)代码>-您每次都会覆盖它,而不是附加它。如果需要多个产品,则必须在会话中将其存储为数组。@RobertRocha最好使用抽象,这样他就可以交换实现。如果他使用的是像这样的硬编码的$\u会话
,那么在整个应用程序中更改它将是一件痛苦的事情。我如何打印该数组?表示会话数组?$products=session::get('product')
并且您可以运行foreach
,因为$products
是一个数组。如何打印该数组?表示会话数组?$products=session::get('product')
并且您可以运行foreach
,因为$products
是一个数组。