1
私のデータベースにはJSONフィールドがあります。私のモデルオブジェクトにアクセスすると、文字列が得られるので、自分でそれをデコードする必要があります。オブジェクトのようにアクセスできますか?アクセサーを定義することはできますが、その場合はアクセサーを変更することはできません。EloquentモデルのJSONフィールドを更新する
私のデータベースにはJSONフィールドがあります。私のモデルオブジェクトにアクセスすると、文字列が得られるので、自分でそれをデコードする必要があります。オブジェクトのようにアクセスできますか?アクセサーを定義することはできますが、その場合はアクセサーを変更することはできません。EloquentモデルのJSONフィールドを更新する
Attribute Casting
を使用できます。
のは、あなたのUserモデルにあなたがタイプJson
のoptions
属性を持っていると仮定しましょう、あなたのユーザーモデルに追加されて何ができるかそう:
protected $casts = [
'options' => 'array',
];
そして、あなたはこのフィールドを編集したい場合は、単にあなただけのことができますそうですね。
$user = App\User::find(1);
$options = $user->options;
$options['key'] = 'value';
$user->options = $options;
$user->save();