Laravel 5.4投不起作用

时间:2017-08-21 14:23:49

标签: laravel laravel-5.4

我的模特

class Subscriber extends Model
{
    protected $casts = [
        'filters' => 'object'
    ];
}

修补:

$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.

很明显,我在属性中的数据很好,json_decode也可以。但演员阵容无效。我也尝试过访问器而没有成功。

2 个答案:

答案 0 :(得分:2)

$casts可以双向进行插入和检索。无需先使用json_encode自己将数组转换为字符串。 Laravel在$casts数组中时会起作用。

例如:

模型样本:

protected $casts = ['ext' => 'object'];

SampleController:

App\Sample::create([
'ext'=>['hello'=>'world']
])

答案 1 :(得分:1)

Casts有两种方式,即插入和检索!插入新模型时我保留了json_encode。