下次用户登录Laravel 5.4应用程序时通知用户



我正在寻找一种解决方案来通知所有用户应用程序中发生 X 活动。

我不是在寻找通过邮件或短信通知。因为此特定通知将发送给所有用户,这些用户可能介于 1000 到 25000 个用户之间。发送 1000 多封邮件或短信是浪费资源。

我想使用一些被注意到的东西来通知用户,那就是他们会阅读。 例如:如果 X 活动发生在今天。Y用户在10天后登录,他/她必须能够看到通知(我想在这种情况下闪存消息不起作用(。

什么是

最好和最有效的方法? 如果使用数据库进行通知是我认为的方式。如何创建单个通知(数据库中的单个条目(并确保所有用户在下次登录时都阅读该通知?不创建 1000 行?

我认为将

通知存储在数据库中也是要走的路。

如果在User模型和Notification模型之间添加多对多关系,并在关系数据透视表上使用is_read标志。

然后,当用户阅读通知时,您将is_read标志更新为1 。或者,如果不需要保留该用户的通知,则可以删除关系,从而减少过时记录的存储。

编辑

如果每个用户始终会看到每个通知,则可以将last_login_at时间戳存储在User模型上,该时间戳会在用户每次登录时更新。

然后,每次用户登录时,查找自last_login_at以来创建的所有Notification并向用户显示。

相关内容

最新更新