Yii, YiiMongoDbSuite и метки в CActiveForm со встроенной структурой документа

Я создал модель Users плюс соответствующая модель UsersPrefs который обрабатывает вложенные документы в Users, Это предпочтительный и документированный способ выполнения встроенных документов с помощью YiiMongoDbSuite.

Теперь я создал форму для обновления этих встроенных UserPrefs создавая Users модель. Проблема: ярлыки для UsersPrefs как описано в public function attributeLabels() недоступны в Users Объект и т. Д. С использованием CActiveForm (например, $form->label($model->MAIL);) в соответствующем представлении не работает с Property Users.MAIL is not defined,

Как я могу использовать эти метки во встроенной модели документа?

1 ответ

При определении встроенных документов, таких как (при условии, что UsersPrefs имеют поле MAIL и метод attributeNames)

public function embeddedDocuments()
{
    return array(
        'prefs' => 'UsersPrefs',
    );
}

Вы должны быть в состоянии использовать это в форме

$form->label($model->prefs, 'MAIL')
Другие вопросы по тегам