Laravel 5.4会话不会保留

Laravel 5.4会话不会保留

问题描述:

我是laravel的新手,所以我在会话中遇到了这个问题。我实际上获取一个XML响应并将其转换为数组并将其存储到会话:Laravel 5.4会话不会保留

这是我的控制器接受请求,将响应转换为数组并将其存储在会话中。

public function HotelSearch(Request $request){ 
     $rezlive = new RezLiveSearch(); 
     $rezliveSearch = $rezlive->hotelSearchByCountry($request); 
     $request->session()->put('hotelSearchResult', $rezliveSearch); 
     $theResult = $request->session()->get('hotelSearchResult'); 
     return view('search-result',compact('theResult')); 
    } 

所以这是存储,我可以查看我的查看页面上的搜索结果。但是,当我导航到其他页面,我刚刚存储的会话不会继续。我试图存储一个正常的字符串,它的工作正常,我可以在应用程序中访问它。任何人都可以帮助我呢?

BTW我使用laravel 5.4

+0

您是否试图序列化和反序列化您的数据? –

+0

你可以转储结果吗?它是一个资源还是纯数组? – Gntem

+0

@MateuszSip我会尽力做到这一点。 – pinoyCoder

$rezlive = new RezLiveSearch(); $rezliveSearch = $rezlive->hotelSearchByCountry($request); $request->session()->put('hotelSearchResult', $rezliveSearch);

的资源不能存储在会话。

从PHP手册

http://php.net/manual/en/language.types.resource.php

资源是一个特殊的变量,保持到外部资源的参考。

您需要从资源中提取XML数据并将其存储到会话中,或者您可以将XML存储到缓存中,将其与随机生成的ID相关联,并避免在会话中放置太多信息。

+0

是的,谢谢你的建议 – pinoyCoder