Laravel 交互式通知

Laravel Interactive Notifications

我正在尝试找出一个交互式通知系统。我的应用程序是用 Laravel 构建的,我目前使用 Pusher 向客户端广播某些事件。我将对通知系统使用相同的过程,但是,当为用户弹出通知时,我希望它的一些样式将保留,除非用户单击或将鼠标悬停在通知上。

我知道我可以使用 Javascript 来做到这一点,但是如果用户没有根据该通知采取行动,退出,然后重新登录怎么办。我希望该样式保持不变,直到用户与该通知交互。

是否最好创建一个通知控制器,并且每当用户与该通知交互时,数据库记录都会为该特定用户更新?这似乎很多,因为通知将 public 并广播给几乎所有用户...并为每个用户创建一个数据库记录...这可能会创建大量记录。

感谢任何帮助。谢谢!

不确定这是否是最佳方式,但我会设置:

  1. 通知模型
  2. 与用户的关系。 (用户 - 通知 - 多对多)
  3. 中级 table 以保持通知和用户关系。

通知模型可以有以下数据库字段来保存您的通知数据。

  • id
  • 标题
  • 留言
  • 状态

而你的中间 table 可能有 (notification_user table)

  • notification_id
  • user_id
  • read_on(时间戳)
  • is_archived(布尔值)

您可以在用户阅读通知时更新 read_on 时间戳,这样您就不会一直显示它们。你也可以为他们提供一个存档选项,等等,这应该在你的数据中心 table.

希望这对您有所帮助。