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
从来没有叫过。