В моей таблице пользователей у меня есть столбец с проверенным именем и типом данных boolean со значением по умолчанию «false». Однако я хочу вызвать событие, когда значение этого столбца для любого конкретного пользователя изменится на «true», поэтому я могу сделать уведомление на основе этого события?
Есть идеи, как мне этого добиться?
Вы можете добавить хук к событию модели и выполнить проверку. Код ниже идет в вашей модели. Вы можете или не хотите передавать объект пользователя с событием. Это может пригодиться, если вы отправляете уведомления.
public static function boot()
{
parent::boot();
static::updated(function($user) {
if ($user->verified == true) {
event(new UserVerified($user));
}
});
}
Я думаю о том, чтобы создать триггер при обновлении вашей целевой таблицы. После обновления вы можете вставить запись в другую таблицу EVENT
,
Ваш код может периодически запрашивать EVENT
таблица для обработки этих обновлений.
Если вы используете Oracle DB, Очереди Oracle будет очень полезно.