Всем привет. Делаю запрос, вроде правильный, но update() срабатывает неверно
$update['modules.$.elements.$.html'] = 'ТЕСТ';
$result = Blocks::where([
'_id' => $block_id,
'modules' => [
'$elemMatch' => [
'module_id' => $module_id,
'elements' => [
'$elemMatch' => [
'element_id' => $element_id
]
]
]
]
])->update($update);
Запись находит, но обновлять не хочет. Если обновляю так
$update['modules.$.elements'] = 'ТЕСТ';
то тут все ОК. А вот в следующую вложенность не сохраняет. Что не так в запросе? Как можно сохранить параметр html?
Структура
"_id": "1",
"modules" : [
{
"module_id" : "2",
"elements" : [
{
"element_id" : "3",
"html": "<div></div>"
}
]
}
]