問題は、$dossier->program
を呼び出すことです。 Eloquentタイプのモデルで実際にプロパティに直接アクセスするのではなく、__get
を呼び出します。 方法。
そのgetメソッドは、プロパティへの参照を返しません。あなたがすべきことは、元のプロパティを取得し、それを変更してから元に戻すことです:
$dossier=Dossier::where('_id',(int)$request->input('dossier_id'))->first();
$originalProgram = $dossier->program;
$originalProgram[$request->input('program')]['cities'][$request->input('city')]['services'][$request->input('service')][$request->input('name')]=$request->input('value');
$dossier->program = $originalProgram;
$dossier->save();