sql >> Database teknologi >  >> NoSQL >> MongoDB

Indirekte ændring af overbelastet ejendom App\Dossier::$program har ingen effekt

Problemet er at kalde $dossier->program har faktisk ikke adgang til egenskaben direkte i Eloquent type modeller, men kalder snarere en __get metode.

Den get-metode returnerer ikke en reference til ejendommen. Hvad du skal gøre er at gribe den oprindelige egenskab, ændre den og derefter sætte den tilbage:

$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();



  1. Node forbinder ikke til Mongo mere end én gang

  2. Mongodb samling som dynamisk

  3. MongoDB $erstatAlle

  4. kan jeg sende mongodb-forespørgsel som en streng i php