$find = Model_User::model()->findByAttributes( array( 'password' => md5(123) ) );
$find->password = md5( 321 );
$find->save();
По идеи должно обновлять password?
Сегодня вот сделал такой код, какого то оно валидирует и остальные поля
$find = Model_User::model()->findByAttributes( array( 'password' => md5(123) ) );
$find->password = md5( 321 );
$find->save();
По идеи должно обновлять password?
Сегодня вот сделал такой код, какого то оно валидирует и остальные поля
Чтобы вообще не валидировать поля, можно написать
$find->save(false);
Чтобы валидировать только поле password надо написать
$find->save(true, array('password'));
А разве в таком случае остальные поля не должны проходить валидацию?
Смотрите последний аргумент CActiveRecord.save() или используйте CActiveRecord.saveAttributes().
И нужна ли в таком случае вообще валидация? Смысл валидировать хэш?
andy_s
А если у меня не хеш, то что??
Проблема состоит в том что я получаю модель, а не создаю.
То есть если:
$user = new Model_User;
$user->password = md5( 321 );
....
$user->save();
То здесь да, должны валидироватся все поля и ити в бд.
Но если я получил модель с данными, и мне надо обновить поле, что выше и показано, то разве не должно оно обновляться? Почему оно требует ввести и остальные поля (как будто они не указаны)
Проблема решена.