问题1:
当我尝试使用save()
任何 Yii 模型时,它会更新行中的所有字段。问题是:当我尝试保存模型用户时,即使没有要更新的密码,它也会获取数据库值(已经散列)并再次散列。我怎样才能对 YII 只更新我想要的字段?
代码:
$user = Users::model()->findByAttributes(array('username'=>$this->username));
$user->ip = $_SERVER['REMOTE_ADDR'];
$user->save();
Users.php(模型):
public function beforeSave() {
if (!empty($this->password))
$this->password=$this->hashPassword($this->password);
return true;
}
问题2:
我有一个可以创建用户的 API。API 教程:http ://www.yiiframework.com/wiki/175/how-to-create-a-rest-api/
当我在数据库中有 crypter_password 而不是密码时,我收到错误:Parameter password is not allowed for model Users
,因为 API 使用$model->hasAttribute()
. 如何修复 APIactionCreate
以允许自定义参数?