Как правильно организовать запись в MongoDb?

Есть задача потихоньку перейти с MySQL на mongodb сейчас, что бы не сбивать работу сайта пока переводим только товар, c дублированием его пока в две базы.
Вопрос в следующем есть две модели Goods и Addfields в форме сохранения модели Good есть некоторые свойства модели AddFields в монго формируется следующий документ

"_id":"5a02d9afb2d45753294debc6",
"title":"Костюм женский 'Маргарита'",
"slug":"goods-Kostum-zenskij-Margarita",
"discription":"<p>Цвет: темно синий, светло бежевый, голубой, ментол, сиреневый, бордовый. Оттенки могут отличаться.</p>"
"product_id": 2576,
"addField":[
	"quote":"Цвет: темно синий, светло бежевый, голубой, ментол, сиреневый, бордовый. Оттенки могут",
	"size1":"48-50;52-54",
	"shop": "0",
	"composition":"дайвинг",
	"country":"Украина",
    "delivery":"3-5 дней",
    "site":"bole-ro",
	"winter""0",
	"spring":"0",
	"summer":"0",
	"fall":"0"
]

addField этого документа формируется как из свойств модели Good так и Addfields. И если с Goods мне все более или мение понятно и получилось. То с Addfields есть проблемы вот так я оформил запись монго (структура Addfield такая 'id','id_goods','key_field','value')
$product=Products::find()->where(['product_id'=>$this->id_gods])->one();
        $key=$this->key_feild;
        $product['addFeild'][$key]=$this->value;
        $product->save();
        parent::afterSave($insert, $changedAttributes);


но получаю следуюшую ошибку

Indirect modification of overloaded element of common\models\mongo\Products has no effect


ругается на эту строку
$product['addFeild'][$key]=$this->value;

что я делаю не так и как правильно ?
  • Вопрос задан
  • 104 просмотра
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы