Эй, ребята, я очень застрял после долгой ночи.
Я создаю приложение, в котором вы можете динамически создавать меню блюд и настраивать отношения следующим образом: Menu hasMany Widget, Widget hasMany WidgetItem (и, конечно, WidgetItem принадлежит To Widget, Widget принадлежит To Menu).
Сначала создается меню, затем пользователь перенаправляется в addSectionsToMenu, где я настроил несколько виджетов (ввод заголовка), соответственно, с несколькими элементами (пунктами меню).
Мои виджеты нормально сохраняются и прикрепляются к меню, , но мои WidgetItems не сохраняются . Я уверен, что мои модели настроены нормально, и я потратил 2 часа на то, чтобы разобраться со структурой $ data. Я просто думаю, что мне нужно кое-что выяснить здесь.
Пожалуйста, помогите!
Спасибо
~ Harley
function addSectionsToMenu($menu_id = null){
$this->layout = 'admin';
$this->set('menu_id', $menu_id);
$this->set('menu', $this->Widget->Menu->findById($menu_id));
if (!$menu_id && empty($this->data)) { $this->Session->setFlash(__('Pick a menu to add to please :)', true)); }
$saveSuccess = false;
if(!empty($this->data['Widget'])) {
$widget_count = 0;
foreach($this->data['Widget'] as $widgetKey => $widget) :
if($this->Widget->saveAll($widget)) : $saveSuccess = true; endif;
$widget_count++;
endforeach;
if ($saveSuccess) {
$this->Session->setFlash(__($widget_count.' sections have been added to the Menu', true));
$this->redirect(array('controller' => 'menus', 'action' => 'index'));
} else {
$this->Session->setFlash(__('The Menu and Sections could not be saved. Please, try again.', true));
}
}
}