Intereting Posts
Получение текущего списка продуктов для учетной записи в Salesforce Аутентификация с использованием PHP для использования wsdl Не удается подключиться к Oracle с помощью symfony2 Переходы строк заголовка PHP и HTTP: какой символ используется для представления? Как отслеживать, откуда Magento вызывает шаблоны? Система входа в систему, аналогичная stackoverflow, написанная на php Sanitizing строки, чтобы сделать их URL и имя файла безопасным? Как использовать PHPUnit с CodeIgniter 3 Есть ли у кого-нибудь фрагмент кода PHP для захвата первого «предложения» в строке? Проверка Нет запятой после последнего элемента в массиве? Могу ли я получить «базовый URL» в WordPress в файле шаблона? PHP MySQL вставляет 3 разных значения формы в 4 разные таблицы Вторая суббота месяца Функция в PHP Новый объект был найден через связь ***, которая не была настроена на каскадное сохранение операций для объекта

Структура Yii От многих до многих отношений

Каков метод сохранения и обновления отношений Many to Many в структуре Yii?

Существует более эффективная реализация как поведение.

http://www.yiiframework.com/forum/index.php?/topic/6905-please-test-my-ar-enhancement-automatically-sync-many-many-table-when-calling-save/

Если вы не создадите модель для таблицы между двумя основными таблицами, единственный вариант – использовать DAO (объект доступа к базе данных) и указать SQL с ним.

Посмотрите, как демо-версия блога выполняет эту задачу.

используйте MANY_MANY отношения MANY_MANY чтобы установить много-много связей между моделями (ассоциативная таблица необходима, чтобы разбить отношения «многие ко многим» в отношения «один ко многим»). Теперь вы можете использовать все реляционные функции Active Records

Yii Framework – окончательное руководство по Yii: работа с базами данных – реляционная активная запись

Следующее расширение делает то, что вы хотите … Yii Framework – расширение: cadvancedbehavior

Важно отметить: при каждом обновлении расширение очищает все предыдущие записи и создает новые. Поэтому я не буду использовать его, если в таблице промежуточных данных содержатся дополнительные данные, кроме внешних ключей.

вы можете установить это на уровне mysql. Перейдя к реляционному представлению под каждой таблицей в phpmyadmin и предоставив необходимое реляционное условие … и используем MANY_MANY в классе модели внутри отношений ..

Вопрос слишком распространен.

Обычно компоненты данных с MANY to MANY отношения появляются последовательно и независимо. Поэтому вам просто нужно сделать одно действие вставки за другим.

Если ваши отношения нуждаются в зависимом обновлении, вы должны использовать SQL-триггеры SQL на уровне DataBase. Это обеспечит целостность данных и даст достаточно хорошее разделение в бизнес-логике приложения.

 CREATE TRIGGER some_trigger AFTER UPDATE ON some_table ... END IF; 

Аналогичным способом является инкапсуляция реляционных данных в одну логическую модель на уровне PHP (и, например, манипулирование ими с 2-3 AR-моделями) и эмуляция логики SQL-триггеров в ней.