Laravel 5.3 - Единое уведомление для коллекции пользователей (подписчики)
Когда у меня есть одинnotifiable
пользователь, одна запись вnotifications
стол вставляется вместе сmail
/sms
отправлено, который отлично работает по каналам.
Вопрос в том, когда у меня естьuser
коллекция, список 1k пользователей, следующих за мной, и я публикую обновление. Вот что происходит при использованииNotifiable
черта как предложено для многопользовательского случая:
mails
/sms
отправлено (вопрос не здесь)1k записей уведомлений добавлено в БДnotifications
ТаблицаПохоже, что добавление 1k уведомлений в БДnotifications
Стол не является оптимальным решением. ПосколькуtoArray
данные такие же, а все остальное в БДnotifications
таблица одинакова для 1k строк, столько разница в том,notifiable_id
изuser
notifiable_type
.
Оптимальное решение из коробки было бы:
Laravel поймет тот факт, что этоarray
notifiable_type
Сохранитьне замужем уведомление какnotifiable_type
user_array
или жеuser
сnotifiable_id
0 (ноль будет использоваться только для обозначения пользователя с несколькими уведомлениями)Создать / использовать другую таблицуnotifications_read
с использованиемnotification_id
он просто создан какforeign_key
и вставьте 1k строк, только из этих полей:
notification_id
notifiable_id
notifiable_type
read_at
Я надеюсь, что уже есть способ сделать это, как я сейчас нахожусь в моем приложении и хотел бы использовать встроенные уведомления и каналы для этой ситуации, так как я запускаюemails
/sms
я думаю, что это нормально повторять 1к раз, но ввод этих же данных в базу данных - это проблема, которую нужно оптимизировать.
Есть мысли / идеи, как поступить в этой ситуации?