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

Indirekte Ændring af Overbelastet Ejendom Laravel MongoDB

På grund af hvordan adgang til modelattributter er implementeret i Eloquent, når du får adgang til $category->specifics , en magisk __get() metode kaldes, der returnerer en kopi af den pågældende attributs værdi. Derfor, når du tilføjer et element til denne kopi, ændrer du blot kopien, ikke den oprindelige attributs værdi. Det er derfor, du får en fejl, der siger, at uanset hvad du gør, vil det ikke have nogen effekt.

Hvis du vil tilføje et nyt element til $category->specifics array, skal du sørge for, at den magiske __set() bruges ved at få adgang til attributten på en indstiller måde, f.eks.:

$category->specifics = array_merge($category->specifics, $this->request->get('specifics'));


  1. MongoDb hastighedsnedsættelse

  2. Hvordan forhindrer man opdateringsfunktionsindsættelse til MongoDB fra Meteor?

  3. Enhedstest med MongoDB

  4. indstille udløb for Hashmap-værdier i Redis?