Затирается фото в базе данные

Общие вопросы по использованию фреймворка. Если не знаете как что-то сделать и это про Yii, вам сюда.
Ответить
Аватара пользователя
ninzzo
Сообщения: 348
Зарегистрирован: 2014.04.25, 07:29

Затирается фото в базе данные

Сообщение ninzzo »

Хай!

Модель User:

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

public function rules() {
...
array('profile_photo', 'file', 'types' => 'jpg, gif, png', 'allowEmpty' => true),
...
}
Контроллер при изменение пароля юзера: (вообще ни как не касается "profile_photo")

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

public function actionChangePassword($id) {
		$model = $this->loadModel($id);		
		if (isset($_POST['User'])) {
			$model->attributes = $_POST['User'];
			if ($model->validate()) {
				$model->pswd = $model->new_password;
				if ($model->save()) {
...				

После изменения пароля у меня затирается в базе данных поле "profile_photo" (до этого была загружена фотка.)

В чем причина?
Это из за валидации?
Убрать 'allowEmpty' => true ?
rak
Сообщения: 2181
Зарегистрирован: 2010.11.02, 23:40
Контактная информация:

Re: Затирается фото в базе данные

Сообщение rak »

потому что для файла(загруженного) нужно отдельное поле в модели заводить, а не то, в котором хранится название в БД
Аватара пользователя
ninzzo
Сообщения: 348
Зарегистрирован: 2014.04.25, 07:29

Re: Затирается фото в базе данные

Сообщение ninzzo »

Заведено public $image для загрузки.

Почему у меня затирается поле profile_photo когда я обновляю запись?

Например

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

$model = User::model()->findbypk(5);
$model->name = "Robert";
if($model->save()){ redirect... }
После такого после у записи с id = 5 удалится мой profile_photo.
Почему?
Из за 'allowEmpty' => true ???
Аватара пользователя
ElisDN
Сообщения: 5845
Зарегистрирован: 2012.10.07, 10:24
Контактная информация:

Re: Затирается фото в базе данные

Сообщение ElisDN »

ninzzo писал(а): 2017.03.03, 11:51 Почему у меня затирается поле profile_photo когда я обновляю запись?
Потому что кто-то в beforeSave или beforeValidate модели или поведения его затирает.
Аватара пользователя
ninzzo
Сообщения: 348
Зарегистрирован: 2014.04.25, 07:29

Re: Затирается фото в базе данные

Сообщение ninzzo »

Неа, не затирает)
Все что есть это одно правило валидации и все.
rak
Сообщения: 2181
Зарегистрирован: 2010.11.02, 23:40
Контактная информация:

Re: Затирается фото в базе данные

Сообщение rak »

ninzzo писал(а): 2017.03.03, 11:51 Заведено public $image для загрузки.
если заведено поле, то почему тогда в правилах валидации указано profile_photo?
Ответить