我正在测试一个保存模型的类。这个模型有一个行为,它用这个方法
保存我要插入的记录的用户 public function beforeSave($event) {
if (($this->getOwner()->getTableSchema()->getColumn($this->campoUsuarioCreacion)!==null))
$this->getOwner()->{$this->campoUsuarioCreacion} = Yii::app()->user->id;
if ($this->getOwner()->getTableSchema()->getColumn($this->campoUsuarioModificacion)!==null)
$this->getOwner()->{$this->campoUsuarioModificacion} = Yii::app()->user->id;
return parent::beforeSave();
}
但是当我测试时,Yii :: app() - > user-> id存在问题。我认为问题在于没有用户登录。那么,如何在不使用带密码的用户ID复制类的情况下解决问题呢?有没有办法设置应用用户ID?
答案 0 :(得分:0)
如果没有提及用户是否已登录或Yii :: app() - > user-> id已定义的问题,您需要将其添加到您的函数底部:
return parent::beforeSave();
例如:
public function beforeSave($event) {
if (($this->getOwner()->getTableSchema()->getColumn($this->campoUsuarioCreacion)!==null))
$this->getOwner()->{$this->campoUsuarioCreacion} = Yii::app()->user->id;
if ($this->getOwner()->getTableSchema()->getColumn($this->campoUsuarioModificacion)!==null)
$this->getOwner()->{$this->campoUsuarioModificacion} = Yii::app()->user->id;
return parent::beforeSave();
}