laravel - Laravel 5.8:反序列化():偏移量 0 的 3 个字节出错
问题描述
我在数据库中序列化了数据:
a:2:{i:0;s:1:"2";i:1;s:1:"5";}
在刀片中对其进行反序列化时,出现以下错误:
@php($course_ids = unserialize($payment->course_id))
unserialize(): Error at offset 0 of 3 bytes
我使用一个属性,但得到错误:
public function getCourseIDAttribute($value)
{
return isset($value) ? unserialize($value) : $value;
}
或casts
:
protected $casts = [
'course_id' => 'array',
];
并在刀片中使用它:
@php($course_ids = $payment->course_id)
我仍然有一个错误。
注意:使用时dd
我可以得到数组!但如果没有dd
我的刀片错误!
谢谢您的帮助。
解决方案
在这里,您正在反序列化数据,
public function getCourseIDAttribute($value)
{
return isset($value) ? unserialize($value) : $value;
}
所以你可以像刀片文件中的属性一样直接使用它没有用写
@php($course_ids = unserialize($payment->course_id))
在刀片文件中你可以这样写
@php($course_ids = $payment->course_id)
希望能帮助到你
推荐阅读
- python - 在 Python 中从二维数组中找到一对值的最大和
- php - 如何在 PHP 中使用数量键对数组求和?
- python - 如何在 Python 中捕获给定窗口内的鼠标移动?
- azure - PowerShell FileSystemWatcher 不使用映射的 Azure 文件共享
- python - 如何在 Python 中为两个二进制字符串计算模块 2?
- node.js - 如何在aws中启动节点服务器
- visual-studio-code - Vscode 扩展:如何设置树视图加载状态
- java - 使用 SharedPreferences 加载数组
- amazon-web-services - 放大存储 url 的过期时间
- amazon-web-services - 即使未指定“aws:autoscaling:updatepolicy:rollingupdate”,“您也无法为单实例环境启用滚动更新”