MongoDB
 sql >> база данни >  >> NoSQL >> MongoDB

Непряка промяна на претоварено свойство App\Dossier::$program няма ефект

Проблемът е, че извикването на $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();



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Дължина на стойността на низовото поле в mongoDB

  2. Събиране на обекти за събиране на Mongodb общо часове

  3. Динамично лепкаво сортиране в Mongo за проста стойност или списък

  4. Схема за потребителски оценки - База данни за ключ/стойност

  5. Android:моето приложение няма да работи, защото трябва да се справя с неизвестен хост изключение. когато го правя, се срива