Например -
У меня ниже записи, которая будет вставлена в коллекцию
"panel_questions" : [
{
"question_id" : 1,
"category_id" : 1
},
{
"question_id" : 2,
"category_id" : 1
}
]
Через монго я могу достичь этого ниже query-
db.panel.update({"id":24},{$push:{panel_questions:{"question_id":2,"category_id":1}}});
Но как мы можем сделать выше запрос манго в YII2
Я уже пробовал код ниже, но он не работал
$this->update(
[
'$push'=>[
'panel_questions'=>[
'question_id'=>1,
'category_id'=>2
]
]
]
)
После обновления моего сознания пивом :) Мне удалось добавить новый массив в mongodb
Вот что я сделал.
$question = [
'question_id'=>Yii::$app->request->post('question_id'),
'category_id'=>Yii::$app->request->post('category_id'),
];
// From collection which is already saved.
$panel_questions = $panel->panel_questions;
// Pushing new question into already saved questions (merging)
array_push($panel_questions, $question);
// Assigning whole question array to data so we can load them in model.
$data['Panel'] =['panel_questions'=>$panel_questions];
if($panel->load($data) && $panel->validate()){
if($panel = $panel->save()) {
// do stuff
}
}