CAdvancedArBehavior, кажется, работает только в оболочке yiic - PullRequest
0 голосов
/ 14 февраля 2012

Я использую CAdvancedArBehavior для сохранения отношений MANY_MANY в моем приложении Yii.Я использую listBox с включенным «множественным» = «множественным», чтобы выбрать связанные объекты, чьи идентификаторы передаются в качестве значений.По какой-то причине, когда я пытаюсь сохранить свою модель, связанные объекты не сохраняются, но все остальное есть.

Я использовал print_r, чтобы распечатать свои данные POST, чтобы проверить, что все проходит черези, кажется,Я даже могу загрузить свой объект в оболочку yiic и добавить тот же массив идентификаторов объектов MANY_MANY и сохранить его должным образом.

Что-то нужно включить, чтобы использовать это расширение нормально?Мне интересно, может быть, оболочка yiic автоматически загружает расширение, которое требует какого-то ручного действия в основном приложении?

Кстати, моя форма создается с помощью виджета CActiveForm, поэтому мои поля определенно все совпадаютдо свойств объекта.

1 Ответ

0 голосов
/ 15 февраля 2012

По сути, при отправке связанных моделей через CActiveForm, даже если форма принимает это как поле, когда вы присваиваете $ _POST ['Model'] атрибутам $ model->, она не включает связанные модели (очевидно, когда я думаю об этом, я думаю).

В основном, эта дополнительная строка необходима для сохранения связанных моделей:

$model->relation_name = $_POST['Model']['relation_name'];

С этим перед $ model-> save () все работает нормально.

...