[$this, 'afterSaveInternal'], ActiveRecord::EVENT_AFTER_UPDATE => [$this, 'afterSaveInternal'] ]; } public function afterSaveInternal($event) { $article = Article::findOne(['id' => $event->sender->id]); if (!empty($article)) { if ($event->name == 'afterInsert') { $search = new Search(); $search->id = $event->sender->id; } else { $search = Search::findOne($event->sender->id); } $search->status = $article->status; $search->title = $article->title; $search->content = $event->sender->content; $search->published_at = $article->published_at; $search->save(); } } }