Yii, YiiMongoDbSuite и метки в CActiveForm со встроенной структурой документа - PullRequest
1 голос
/ 02 февраля 2012

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

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

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

1 Ответ

0 голосов
/ 12 июля 2012

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

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

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

$form->label($model->prefs, 'MAIL')
...