Есть 3 таблицы в базе: Page (страницы), Category (категории), PageCategory (связка для страницы-категории). Есть 2 модели: Page и Category.
При создании страницы, во views у Page есть ListBox, где можно выбрать категории, к которым мы хотим привязать данную страницу.
В соответствующем экшенсе Page.actionCreate() мы получаем _POST(‘Page’), в котором есть массив categories, содержащий айдишники категорий, которые мы выбрали. Теперь нам нужно в таблицу PageCategory добавить записи вида (pageId, categoryId).
У меня возник вопрос, есть ли в Yii средства, которые автоматом добавят соответствующие записи в таблицу PageCategory?
Или же нужно вручную пробегать по массиву categories и для каждого айдишника выполнять (например, в функции Page.afterSave) запрос вида:
$this->dbConnection->createCommand("INSERT INTO PageCategory(pageId, categoryId) VALUES ({$pageId}, {$categoryId})")->execute();
Меня интересует именно вопрос добавления записей в таблицу PageCategory, где лучше это делать и делать ли это ‘вручную’ (как я описал выше)?
И еще один вопрос, правильно ли я понимаю, что relations() никак не используются при вызове метода save() у модели, а используются только для выборки (получения) данных?