機能を含むビヘイビアを作成しました。この関数は、User of Logon(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
が呼び出されていないため、どこに問題がないのですか。