Я сохраняю несколько виджетов и связанных элементов виджетов в меню, которое у меня работает нормально.
Проблема в том, что моя функция редактирования не работает. Я понимаю, что структура массива данных должна быть следующей, так как именно она в первую очередь правильно сохраняет мои данные:
Array (
[Widget] => Array
(
[23] => Array
(
[title] => Cocktails
[id] => 23
[WidgetsItem] => Array
(
[147] => Array
(
[item] => Martini: Noilly Pratt, Ginor Vodka
[price] => 24
[id] => 147
)
[148] => Array
(
[item] => Negroni: Campari, Gin, Sweet Vermouth
[price] => 16
[id] => 148
)
)
)
используя следующий код контроллера:
foreach($this->data['Widget'] as $widgetKey => $widget) :
$widgetData = array(
'title' => $widget['title'],
'id' => $widget['id']
);
$saveableWidget = Set::insert($widget, 'Widget', $widgetData);
if($this->Widget->saveAll($saveableWidget)) : $saveSuccess = true; endif;
endforeach;
Который копируется и вставляется из начальной функции сохранения, затем немного изменяется для редактирования. Вместо этого он создает новые записи, а не редактирует их. Я знаю, что это связано с идентификаторами, но это не сохранение. Что я делаю неправильно?
Пожалуйста, помогите, я чувствую, что я очень близок к почти готовой продукции.
Спасибо
~ Харли