Laravel 5.4 转换不起作用

And*_*ers 5 laravel laravel-5.4

我的模特

class Subscriber extends Model
{
    protected $casts = [
        'filters' => 'object'
    ];
}
Run Code Online (Sandbox Code Playgroud)

修补匠:

$s = App\Subscriber::first();
$s->filters
// prints serialized json:
// ""{\"maxHyra\":\"8000\",\"minAntalRum\":\"2\",\"Ungdom\":\"true\",\"Student\":\"true\",\"Korttid\":\"true\",\"Bostadssnabben\":\"true\",\"_token\":\"0Y2f3eAl27ikrujvw7VBWNOaNXxchygaFUDSo4s4\"}""

json_decode($s->filters)
// prints a neat php object.
Run Code Online (Sandbox Code Playgroud)

所以显然我的属性中的数据很好,并且 json_decode 有效。但演员阵容不起作用。我也尝试过访问器但没有成功。

Cha*_*lie 5

$casts双向工作,插入和检索。无需json_encode先自行将数组转换为字符串。当 Laravel 在数组中时就会执行此操作$casts

例如:

型号样本:

protected $casts = ['ext' => 'object'];
Run Code Online (Sandbox Code Playgroud)

示例控制器:

App\Sample::create([
'ext'=>['hello'=>'world']
])
Run Code Online (Sandbox Code Playgroud)