2016-08-20 73 views
0

我有一个网站,用户可以发布像状态,图片等东西我不想创建类似Facebook的通知系统。提醒用户朋友最近活动的东西。我的问题是我不知道我应该如何构建我的桌子。我正在按照一个较旧的教程Tutorial为db方案提供一些建议,并且执行类似的操作马克is_read通知系统与Laravel 5

id | user_id |主题| body | object_id | object_type | is_read | sent_at | created_at | updated_at

我知道如何处理大部分代码,或者至少有一个好主意,我的问题和问题是针对is_read列,我应该创建一个单独的表来存储该信息,如果不是那么如何使用当前设置将通知标记为is_read。

+0

为什么要制作一张单独的桌子?你是怎么想到这个想法的? –

+1

为用户加载消息后,只需将is_read列标记为true/1? – Farkie

+0

此表适用于所有用户从与该用户的好友那里获得的所有用户。所以所有朋友的用户都会从这一行中获取通知。所以我不能只在该表上标记is_read,因为不止一个用户会从它那里拉出来@Farkie – Luna

回答

1

我想你想有一个“正在读”每一个朋友/用户,这有点不清楚。如果是这种情况,您最好的选择(在我看来)就是创建一个如您所说的包含post_id和user_id的新表。那么你所要做的就是检查是否存在这种关系,如果是,则显示通知。

+0

是的,我想为每个朋友都有一个is_read。你说我应该创建的表,也是我应该把is_read列,以及post_id和user_id? – Luna

+0

那么,你需要的只是用户ID和帖子ID。然后,如果用户已经阅读帖子,只需从表中删除它 –

+0

除了你想要显示旧的通知,那么你需要一个is_read列,然后你需要更新 –