не понимаю - getAttributeLabel()

Общие вопросы по использованию фреймворка. Если не знаете как что-то сделать и это про Yii, вам сюда.
Ответить
Аватара пользователя
kosenka
Сообщения: 677
Зарегистрирован: 2009.09.26, 12:41
Откуда: москва
Контактная информация:

не понимаю - getAttributeLabel()

Сообщение kosenka »

Есть в контроллере функция:

Код: Выделить всё

        public function actionShow()
        {
                $user=User::model()->findbyPk(Yii::app()->user->getId());
                if(isset($user))
                {
                $criteria=new CDbCriteria;
                        $criteria->condition='t.txt_primary=1 and t.txt_uid='.$user->id;
                $userContacts=UserContacts::model()->find($criteria);
                }
                $this->render('show',array(
                                           'user'=>$user,
                                           'userContacts'=>UserContacts::model(),//$userContacts,
                                           'userDetails'=>UserDetails::model(),
                                           'contactsPrimary'=>$contactsPrimary,
                                          )
                             );
        }
 
Во view:

Код: Выделить всё

<?=CHtml::activeLabel($userContacts,'txt_street'); ?>
<?=CHtml::activeTextField($userContacts,'txt_street',array('class'=>'text')); ?>
Так вот, если вместо UserContacts::model() использовать $userContacts (она закомментирована сейчас) , то возникает ошибка:

Код: Выделить всё

Fatal error: Call to a member function getAttributeLabel() on a non-object in /public_html/framework/web/helpers/CHtml.php on line 1067
Почему? Никак не могу понять.
Аватара пользователя
kosenka
Сообщения: 677
Зарегистрирован: 2009.09.26, 12:41
Откуда: москва
Контактная информация:

Re: не понимаю - getAttributeLabel()

Сообщение kosenka »

Нашел: если $userContacts пустой, то возникает вышеописанная ошибка. Если же в $userContacts есть данные, то ошибки нет.
Аватара пользователя
rallo
Сообщения: 6
Зарегистрирован: 2015.04.29, 11:54

Re: не понимаю - getAttributeLabel()

Сообщение rallo »

kosenka писал(а):Нашел: если $userContacts пустой, то возникает вышеописанная ошибка. Если же в $userContacts есть данные, то ошибки нет.
Спасибо )) Обнаружил опечатку в имени переменной класса.. и она действительно у меня из за этого пустая была ...
Последний раз редактировалось rallo 2015.10.02, 10:38, всего редактировалось 3 раза.
Аватара пользователя
rallo
Сообщения: 6
Зарегистрирован: 2015.04.29, 11:54

Re: не понимаю - getAttributeLabel()

Сообщение rallo »

Функция getAttributeLabel() возвращает значение из массива в модели. Массив определяется в коде модели, функция attributeLabels().
Пример:

Код: Выделить всё

public function attributeLabels() {
    return array (
        'rememberMe' => 'Remember me next time',
        'password_confirm' => 'Confirm password',
        'password' => 'Password',                
        'email' => 'Email',
    );
}
 
Аватара пользователя
rallo
Сообщения: 6
Зарегистрирован: 2015.04.29, 11:54

Re: не понимаю - getAttributeLabel()

Сообщение rallo »

rallo писал(а): 2015.10.02, 10:32 Функция getAttributeLabel() возвращает значение из массива в модели. Массив определяется в коде модели, функция attributeLabels().
Пример:

Код: Выделить всё

public function attributeLabels() {
    return array (
        'rememberMe' => 'Remember me next time',
        'password_confirm' => 'Confirm password',
        'password' => 'Password',                
        'email' => 'Email',
    );
}
 
Пример: $model->getAttributeLabel('rememberMe');
Ответить