我已经在数据库中序列化了数据:
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',
];
并在Blade中使用它:
@php($course_ids = $payment->course_id)
我仍然有一个错误。
注意:使用dd
时,我可以得到数组!但没有dd
时,刀片出现错误!
感谢您的帮助。
答案 0 :(得分:0)
这里您要反序列化数据,
public function getCourseIDAttribute($value)
{
return isset($value) ? unserialize($value) : $value;
}
因此您可以像刀片文件中的属性一样直接使用它而无需编写
@php($course_ids = unserialize($payment->course_id))
在刀片文件中,您只能这样写
@php($course_ids = $payment->course_id)
希望有帮助