如何在会话上放置和检索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')代码>以获取单个实例。