Laravel:在Eloquent中解码JSON

时间:2015-06-12 13:56:55

标签: json laravel

我需要JSON解码我的Eloquent查询中的某个列。有没有办法在不分开的情况下做到这一点?

到目前为止,我有这个。

public function index()
{
    return Offer::all();
}

1 个答案:

答案 0 :(得分:14)

在模型上使用accessor

public function getColumnNameAttribute($value) {
  return json_decode($value);
}

或使用attribute casting告诉Laravel自动执行此操作:

protected $casts = [
    'column_name' => 'array',
];
  

array强制转换类型在处理存储为序列化JSON的列时特别有用。

请注意,如果您使用演员表,则可能必须停止json_encode数据,因为Laravel现在也会自动执行该步骤。