но как это все одновременно добавлять нажав на кнопку сохранить не представляю. Ведь много зависимостей, например не знаем какие будут атрибуты у товара не выбрав пачку атрибутов или привязав группу к товару, по другому
Что то не улавливается проблема. Попробуйте добавить более последовательный пример с расписанными действиями и моментом, когда у вас возникает сложность.
Попробую приблизительно разобраться. Есть у нас товары их атрибуты и группы атрибутов.
Значит у нас должна быть
- форма для создания групп атрибутов (просто создается именованная группа в которую можно поместить атрибут,
- форма для создания атрибутов (где мы можем добавить атрибут и выбрать для него группу из существующих)
- и форма для добавления товаров (где мы можем выбрать атрибуты из существующих)
Вроде никаких проблем. Если требуется иметь возможность создать новый атрибут из формы добавления продукта, то это делается AJAXом. Есть кнопка "создать новый атрибут" которая, например, открывает в модалке форму создания атрибута.
Соответственно контроллер создания продукта отвечает только за создание продукта, атрибуты уже должны быть все созданы.
PS
Кстати, если вы подобное видели в каких то CSM, то будет полезно разобраться как это решено было там.