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

Непряка промяна на претоварено свойство Laravel MongoDB

Поради начина, по който достъпът до атрибутите на модела е реализиран в Eloquent, когато осъществявате достъп до $category->specifics , магически __get() се извиква метод, който връща копие на стойността на този атрибут. Следователно, когато добавите елемент към това копие, вие просто променяте копието, а не стойността на оригиналния атрибут. Ето защо получавате грешка, че каквото и да правите, няма да има ефект.

Ако искате да добавите нов елемент към $category->specifics масив, трябва да се уверите, че магическият __set() се използва чрез достъп до атрибута по установителен начин, напр.:

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


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Pymongo агрегат:филтриране по брой полета номер (динамично)

  2. MongoDB - Агрегация - За да получите уникални елементи в масив

  3. Интегриране на mongodb с elasticsearch в node.js среда

  4. Mongodb, linq драйвер. Как да конструирате Съдържа с променлива или изрази

  5. MongoDb:Как да импортирам дъмп данни от .gz файл?