2016-10-24 5 views
1

私のデータベースにはJSONフィールドがあります。私のモデルオブジェクトにアクセスすると、文字列が得られるので、自分でそれをデコードする必要があります。オブジェクトのようにアクセスできますか?アクセサーを定義することはできますが、その場合はアクセサーを変更することはできません。EloquentモデルのJSONフィールドを更新する

答えて

0

Attribute Castingを使用できます。

のは、あなたのUserモデルにあなたがタイプJsonoptions属性を持っていると仮定しましょう、あなたのユーザーモデルに追加されて何ができるかそう:

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

そして、あなたはこのフィールドを編集したい場合は、単にあなただけのことができますそうですね。

$user = App\User::find(1); 

$options = $user->options; 

$options['key'] = 'value'; 

$user->options = $options; 

$user->save(); 
関連する問題