0
我創建了一個包含函數的行爲。此功能應該在用戶登錄後(yii/web/User :: EVENT_AFTER_LOGIN)。 但是這個功能永遠不會被觸發不幸。Yii2登錄後無法運行
我有一個行爲類用戶模型:
class UserBehavior extends Behavior
{
/**
* @inheritdoc
* @param \yii\base\Component $owner
*/
public function attach($owner)
{
parent::attach($owner);
$owner->on(\yii\web\User::EVENT_AFTER_LOGIN, [$this, 'updateLoginInformation']);
}
/**
* Update login information data:
* - login ip address
* - login time
*/
public function updateLoginInformation()
{
/** @var \common\models\User $owner */
$owner = $this->owner;
$owner->logged_in_ip = Yii::$app->request->getUserIP();
$owner->logged_in_at = time();
$owner->save();
}
}
我聲明的事件和重視了。 但這個事件永遠不會被登錄之後運行...
我重視這個行爲和用戶模型:
/**
* @inheritdoc
*/
public function behaviors()
{
return [
TimestampBehavior::className(),
UserBehavior::className()
];
}
如果我知道了良好的EVENT_AFTER_LOGIN將自動被Yii框架觸發,這是之所以我不再觸發它。
而且我不在哪裏出問題,因爲updageLoginInformatin
從來沒有叫過。