我正在建立一个通知系统,以便当组中的用户执行操作时,它将通知该组中的所有其他用户.我希望为该组的每个用户将通知标记为“已读”或“未读”.有了这个,我可以轻松地检索用户的任何未读通知并显示它.我考虑创建一个包含以下字段的通知表.
+----------------------+
| notification |
+----------------------+
| id |
| userid |
| content |
| status (read/unread) |
| time |
+----------------------+
我的问题是:
>这是否是制作系统的正确方法?因为这意味着当一个组中有1,000个用户时,我必须向表中插入1,000行.如果没有,那么更好的方法是什么?
>如果是这样做的话,我怎样才能编写php / mysql代码来循环插入行?
谢谢!
解决方法:
更好的方法是通过执行以下操作将通知与用户分开:
Table Notification
------------------
not_id
time content
Table User
----------
u_id
Table NotificationStatus
------------------------
id
u_id
not_id
bool read
这样,您只需将每个通知保存为一个,这样可以更轻松地修改/编辑通知
标签:php,mysql,design-patterns,database-design,notifications
来源: https://codeday.me/bug/20190708/1407387.html