समस्या यह है कि $dossier->program
. को कॉल करना वास्तव में एलोकेंट प्रकार के मॉडल में सीधे संपत्ति का उपयोग नहीं करता है, बल्कि __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();