Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/laravel/10.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
如何在会话上放置和检索laravel集合对象_Laravel_Laravel 4_Laravel 5 - Fatal编程技术网

如何在会话上放置和检索laravel集合对象

如何在会话上放置和检索laravel集合对象,laravel,laravel-4,laravel-5,Laravel,Laravel 4,Laravel 5,我知道我们可以在会话中插入数组作为Session::push('person.name','torres'),但是如何保持laravel集合对象,例如$product=product::all(),类似于会话::put('product',$product).Ho>如何实现这一点?您可以将任何数据放入会话中,包括对象。因为集合只是一个对象,所以您也可以这样做 例如: $products = Product::all(); Session::put('products', $products);

我知道我们可以在会话中插入数组作为
Session::push('person.name','torres')
,但是如何保持laravel集合对象,例如
$product=product::all()
,类似于会话::put('product',$product).Ho>如何实现这一点?

您可以将任何数据放入会话中,包括对象。因为
集合
只是一个对象,所以您也可以这样做

例如:

$products = Product::all();
Session::put('products', $products);
dd(Session::get('products'));

应回显集合。

您应将其转换为普通数组,然后将其转换回模型:

在会话中存储
$products=Product::all()->map(函数($Product){
返回$product->getAttributes();
})->全部();
会话::put('products',$products);
正在从会话中检索
$products=Product::水合物(Session::get('products');


您可以看到此方法的示例。

为什么要将其转换为普通数组?
Session::put('products',$products->toArray())也为我工作。我使用了
Address::newModelInstance(Session::get('Address')以获取单个实例。