sql >> Databáze >  >> NoSQL >> MongoDB

Nepřímá úprava přetížené vlastnosti Laravel MongoDB

Vzhledem k tomu, jak je v Eloquent implementován přístup k atributům modelu, když přistupujete k $category->specifics , magické __get() je volána metoda, která vrací kopii hodnoty tohoto atributu. Když tedy do této kopie přidáte prvek, měníte pouze kopii, nikoli hodnotu původního atributu. Proto se vám zobrazuje chyba, že ať děláte cokoliv, nebude to mít žádný účinek.

Pokud chcete přidat nový prvek do $category->specifics pole, musíte se ujistit, že magická __set() se používá při přístupu k atributu způsobem setter, např.:

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


  1. Jedinečné dokumenty využívající více hodnot v Mongoose Schema

  2. Jak uložit pole hash v redis

  3. Konfigurační soubor MongoDB Yaml Nerozpoznán Možnost:Úložiště

  4. Všechny dotazy Mongoose JS se vracejí prázdné nebo prázdné