我将cookie日期存储在序列化数组中,我希望通过Blade模板访问该数组。
如果设置了与当前字段名匹配的cookie值,则需要显示它。我目前正在使用以下代码,但我不确定如何访问数组值。
{{{ Cookie::has('myBookingDetails') ? Cookie::get('myBookingDetails') : old('name') }}}myBookingDetails cookie的值如下所示:
a:4:{s:4:"name";s:13:"Joe Bloggs";s:5:"email";s:29:"joe@domain.co.uk";s:5:"phone";s:11:"0777777777";s:3:"reg";s:6:"123456";}如何通过Blade访问"name“值?
发布于 2015-06-11 10:00:40
数据被序列化。您需要使用unserialize()函数来获取数据。
$data = unserialize(Cookie::get('myBookingDetails'));
$name = $data['name']使用前检查是否存在。
发布于 2015-09-24 19:54:59
不知道之前的答案是否解决了你的谜团,但我可以帮上忙。
我和一个类似的案子打过架。似乎在模板中--在Laravel5.1中--我无法直接访问cookie:
Cookie::get('cookiename')只返回空cookie('cookiename')返回Symfony\Component\HttpFoundation\Cookie,但是$cookie->getValue()返回(再次) null。
好的旧$_COOKIE['cookiename']返回正确的cookie,所以您可以简单地使用unserialize( $_COOKIE['myBookingDetails'] )['name'];!
PS:应该更好地处理控制器中的cookie,并将一个普通变量传递给视图!
https://stackoverflow.com/questions/30777213
复制相似问题