1

テーブル user から値 dep_id を返して使用したいので、setState は (Yii::app()->user->depId) のように返すことになっていますが、使用すると取得されます - "CWebUser.depId" は定義されていません。私は検索しましたが、何をすべきかわかりません。簡単な回答が必要です。これは私の例です:

private $_id;
//private $_dep_id;
public function authenticate()
{
    $user=User::model()->find('LOWER(username)=?',array(strtolower($this->username)));
    if($user===null)
        $this->errorCode=self::ERROR_USERNAME_INVALID;
    else if(!$user->validatePassword($this->password))
        $this->errorCode=self::ERROR_PASSWORD_INVALID;
    else
    {
        $this->_id=$user->id;
        $this->setState('depId',$user->dep_id);            
        $this->username=$user->username;
        $this->setState('lastLogin', date("m/d/y g:i A", strtotime($user->last_login_time)));
        $user->saveAttributes(array('last_login_time'=>date("Y-m-d H:i:s", time())));
        $this->errorCode=self::ERROR_NONE;
    }
    return $this->errorCode==self::ERROR_NONE;
}
public function getId()
{
    return $this->_id;
}

そして、私はこれを手に入れます

Property "CWebUser.depId" is not defined.

ここで何が問題なのですか?!

4

1 に答える 1

0

認証されたユーザーに制限されているため、上記のシナリオでその変数を使用するには、認証されたユーザーである必要があります。

于 2013-12-18T16:40:32.470 に答える