Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/288.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何在会话中存储数据数组并检索它?_Php_Arrays_Laravel_Session_Laravel 5 - Fatal编程技术网

Php 如何在会话中存储数据数组并检索它?

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(

我试图通过ajax在会话中存储一些数据。意味着从Ajax请求中,我将获得产品id,并通过会话将其放入产品数组中。我想检索每个会话数组数据

每个Ajax请求
产品\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
是一个数组。