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

Modifica indiretta della proprietà sovraccarica Laravel MongoDB

A causa del modo in cui l'accesso agli attributi del modello è implementato in Eloquent, quando accedi a $category->specifiche , una magia __get() viene chiamato il metodo che restituisce una copia del valore di quell'attributo. Pertanto, quando aggiungi un elemento a quella copia, stai solo cambiando la copia, non il valore dell'attributo originale. Ecco perché ricevi un messaggio di errore che dice che qualunque cosa tu stia facendo, non avrà alcun effetto.

Se vuoi aggiungere un nuovo elemento a $category->specifiche array, devi assicurarti che la magia __set() viene utilizzato accedendo all'attributo in modo setter, ad es.:

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