我需要JSON解码我的Eloquent查询中的某个列。有没有办法在不分开的情况下做到这一点?
到目前为止,我有这个。
public function index()
{
return Offer::all();
}
答案 0 :(得分:14)
在模型上使用accessor:
public function getColumnNameAttribute($value) {
return json_decode($value);
}
或使用attribute casting告诉Laravel自动执行此操作:
protected $casts = [
'column_name' => 'array',
];
array
强制转换类型在处理存储为序列化JSON的列时特别有用。
请注意,如果您使用演员表,则可能必须停止json_encode
数据,因为Laravel现在也会自动执行该步骤。