Форма для Relative AR

Добрый день!

подскажите, есть ли стандартные средства для создания формы (может быть через ActiveForm виджет) для следующей сиутации.

Есть модель AR, есть связь с другой моделью AR типа HAS_MANY

для примера - запись блога имеет множество тегов.

нужно сделать редактирование этих тегов вместе с записью

форма для редактирования записи сгенерилась CRUD-ом.

Но кроме текущей модели записи есть массив ассоциированных записей - $model->tags

вот как для них строить форму (я в данный момент использую foreach($model->tags as $tag) и для каждой модели строю поля через <?php echo CHtml::textField(‘tags[’.$tag->tag_id.’]’,$tag->tag_name);?>

есть ли более элегантное решение? Это похоже больше на "костыль"…

Я бы для тегов вообще одно текстовое поле только сделал. Вводим теги через запятую, а затем в методе afterSave() записи блога парсим это поле и вставляем слова в таблицу тегов. Если не ошибаюсь, то в примере блога на Yii именно так и делается.

Спасибо за быстрый ответ, но меня интересует больше не практика, а теория.

а теги - просто для примера.

предположим что это будут… Вопрос и возможные варианты ответа

примерная структура данных:

tbl_questions

q_id //pk

q_question //описание

tbl_answers

a_id //pk

q_id //fk

a_answer //описание ответа

tbl_question_answers

q_id //fk1

a_id //fk2

Ответы хранятся в отдельной таблице. каждый ответ имеет свой уникальный id, при апдейте ответа нужно сохранять id ответа. Один вопрос может иметь несколько ответов.

И еще раз, меня интересует больше теория, как поступать в такой ситуации, а не практика, что это можно было бы реализовать как-то иначе…

Возможно, стоит почитать данный раздел гайда: http://www.yiiframework.com/doc/guide/1.1/ru/form.table

ну там как раз представление формы через foreach я так почти и сделал… ничего нового.

в общем, на сколько я понял форму строить нужно через foreach и обработку сохранения организовывать так же… Через один виджет CActiveForm не сделать