Подход к редактированию модели

Общие вопросы по использованию фреймворка. Если не знаете как что-то сделать и это про Yii, вам сюда.
Закрыто
nenor
Сообщения: 27
Зарегистрирован: 2013.08.27, 09:45

Подход к редактированию модели

Сообщение nenor »

Доброго времени суток. Подскажите, какой рациональный подход можно применить при частичном обновлении модели (в частности профиль пользователя). Наиболее классический вариант с заполнением полей данными из базы, и затем сохранение модели в базу.
Например, имеются поля: id, username, pwd
Тогда в контроллере, как я понимаю будет:

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

                $user = User::model()->findByPk(Yii::app()->user->id); // получаем пользователя
                /* Тут кода сохранения модели, валидация и т. д. */
                $this->render('settings',array('model'=>$user)); 
Однако в данном случае во вьюху передается вся информация об учетной записи, и в случае, если вьюха будет поломана, можно будет отобразить ее.
Я пришел к такому коду:

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

                $user_old = User::model()->findByPk(Yii::app()->user->id);  // Ну или селектом получаем только необходимые поля
                $user_old['pwd'] = null;
                $user = new User();
                /* Тут кода сохранения модели, валидация и т. д. */
                $this->render('settings',array('model'=>$user_old)); 
Может кто то подскажет что то более дельное? А то мне кажется что будет 2 обращения к базе: при инициализации $user_old и $user
Аватара пользователя
1Dmitry
Сообщения: 254
Зарегистрирован: 2013.05.08, 20:27
Откуда: Украина

Re: Подход к редактированию модели

Сообщение 1Dmitry »

Однако в данном случае во вьюху передается вся информация об учетной записи, и в случае, если вьюха будет поломана, можно будет отобразить ее.
Если поломают, то и бд дернут наверное без проблем.
masson
Сообщения: 545
Зарегистрирован: 2012.07.03, 15:59

Re: Подход к редактированию модели

Сообщение masson »

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

$criteria = new CDbCriteria(array('select'=>'id, name'));
$user = User::model()->findByPk(Yii::app()->user->id, $criteria); 
nenor
Сообщения: 27
Зарегистрирован: 2013.08.27, 09:45

Re: Подход к редактированию модели

Сообщение nenor »

Cпасибо, тупанул, а то получается велосипед.
Закрыто