Каков метод сохранения и обновления отношений Many to Many в структуре Yii?
Структура Yii От многих до многих отношений
Ответ 1
Существует лучшая реализация как поведение.
Ответ 2
Если вы не создадите модель для таблицы между двумя основными таблицами, единственный вариант - использовать DAO (объект доступа к базе данных) и указать SQL с ним.
Посмотрите, как демо-версия блога выполняет эту задачу.
Ответ 3
используйте тип отношения MANY_MANY
для настройки много-много связей между моделями (необходима ассоциативная таблица, чтобы разорвать отношения "многие ко многим" во взаимосвязи "один ко многим" )
И теперь вы можете использовать все реляционные функции активных записей
Ответ 4
Следующее расширение делает то, что вы хотите... Yii Framework - Расширение: cadvancedbehavior
Важно отметить: при каждом обновлении расширение очищает все предыдущие записи и создает новые. Поэтому я бы не использовал его, когда таблица промежуточных содержит дополнительные данные, кроме внешних ключей.
Ответ 5
вы можете установить это на уровне mysql.. перейдя к реляционному представлению под каждой таблицей в phpmyadmin и предоставив необходимое реляционное условие.. и используйте MANY_MANY в классе модели внутри отношений.
Ответ 6
Вопрос слишком распространен.
Обычно компоненты данных с MANY to MANY отношения появляются последовательно и независимо. Поэтому вам просто нужно сделать одно действие вставки за другим.
Если ваши отношения нуждаются в зависимом обновлении, вы должны SQL-триггеры на уровне базы данных. Это обеспечит целостность данных и даст достаточно хорошее разделение в бизнес-логике приложения.
CREATE TRIGGER some_trigger
AFTER UPDATE ON some_table
...
END IF;
Аналогичным образом следует инкапсулировать реляционные данные в одну логическую модель на уровне PHP (и, например, манипулировать с 2-3 AR-моделями) и эмулировать логику SQL-триггеров в ней.