lkj4565 2012-05-08 11:05:23 17131次浏览 4条回复 0 0 0

$uid = Yii::app()->user->id; 这是什么意思??我的用户名里的列名是userid 而不是id 求解

  • 回复于 2012-05-08 15:12 举报

    这是获取当前登录用户的ID值。
    Yii::app()->user->id 实际上是访问 Yii::app()->user->getId(),所以你的列名是userid那就重写getId函数,返回userid就可以了。

  • 回复于 2012-05-09 11:23 举报

    你是不是 $uid = Yii::app()->user->id; 还是能 echo $uid;

  • 回复于 2012-05-10 11:12 举报

    楼主指的是数据库中的字段和CUserIdentity中的字段不一致。
    只要修改protected/components/UserIdentity.php中的验证部分就可以了,像

    $user=UserModel::model()->find('LOWER(username)=?',array($username));
    if($user===NULL){
      $this->errorCode=self::ERROR_USERNAME_INVALID;
    }else if(...){
      $this->errorCode=self::ERROR_PASSWORD_INVALID;
    }else{
      //验证登录成功
      $this->Id=$user->userid;
    }
    

    第8行就是关键,这样你就可以使用 Yii::app()->user->id 获取你表中的userid了。
    当然还可以自定义UserIdentity字段

    private $userid;
    public function getUserid(){
      return $this->userid;
    }
    

    在验证成功后给private $userid赋值,然后在程序中使用 Yii::app()->user->userid 获取你的用户ID。

    觉得很赞
  • 回复于 2012-05-15 11:18 举报

    MARK 一下,有同样的疑惑。收藏了。

您需要登录后才可以回复。登录 | 立即注册