Редактирование профиля.

Доброго времени суток.

Имеется табличка в базе, она содержит поля id, username и photo.

Создана модель и контроллер, работает создание нового юзера с загрузкой фото и отображение всего этого дела. Но при попытке изменить данные о пользователе Yii ругается на то, что не выбран загружаемый файл и просит залить его снова, аргументируя это тем, что фото - обязательный атрибут.

Как будет правильнее поступить в такой ситуации?

Изменений в коде практически нет - всё создано с помощью генератора моделей и crud.

Нашёл нечто подобное - http://code.google.com/p/yii/issues/detail?id=1023

такое решение будет верным?

а что, если тебе в базе хранить только путь к файлу фотографии

http://www.yiiframework.com/doc/api/CFileValidator#allowEmpty-detail




public function rules()

	{

		return array(

array('image', 'file', 'types'=>'jpg, gif, png', 'maxSize'=>1024 * 300, 'tooLarge'=>'The file (1) was larger than 300kb. Please upload a smaller file.', 'allowEmpty'=>true),

...



-> ‘allowEmpty’=>true

Спасибо всем, к этому же варианту слонялся.

Я ссылку на загруженный файл как раз и храню =)

А вот ещё такой вопрос интересует - уже в контроллере разделять действия в зависимости от полученного от формы результата, верно?

Так и сделал - в actionUpdate сохранил старое значение в переменную, новое получил, проверил не пустое ли оно и, если пустое, то записываю в него обратно старое =)

Вроде вполне логично, может есть способ сделать как-то более корректно или я всё же вполне верно сделал?

Нормуль. Сойдёт и так.