Я пытаюсь ответить вам шаг за шагом.
1) В модели User
в методе afterSave
добавить следующее:
public function afterSave()
{
$this->trigger('event_name');
parent::afterDelete();
}
2) Добавить в модель User
новый метод:
public function init()
{
$this->on('event_name', ['app\models\SOME_MODEL', 'someMethod']);
}
3) В SOME_MODEL
добавить someMethod
код так:
public static function someMethod($event)
{
/** @var \yii\base\Event $event */
/** @var ActiveRecord $event->sender */
$userId = Yii::$app->user->id;
// some code to add in table or send to email
$model = new Logs([
'type' => $event->sender->getType(),
'action' => $event->name,
'id_user' => $userId,
'old_data' => Json::encode($event->sender->attributes),
'new_data' => Json::encode($event->sender->oldAttributes),
]);
$model->save();
}