如何实施 "Report/Flag comment"
How to implement "Report/Flag comment"
我正在使用 Silex(不确定是否相关)建立博客,我想增加用户报告评论的可能性。
最初我只是在 comments
table 中添加了一个布尔值 flagged
列,默认情况下将其设置为 false
,并将其切换为 true
每当用户点击 "Report the comment" 按钮时。我的计划是能够轻松地向管理员显示所有标记的评论。但我意识到任何用户都可以去报告每条评论,用它淹没管理面板。
所以我想尝试不同的方式。我想计算一条特定评论被标记了多少次,这样我就可以在管理面板的 "Flagged comments" 部分反映出来,这样管理员可以快速查看哪些评论被一个孤独的巨魔标记了哪些那些已经被大量标记并值得关注。
我还想记住特定用户自己标记的评论,因此我可以在他已经标记的评论上为他禁用 "Report the comment" 按钮。
这里有两个问题:
- 这样做好吗?
- 如何在我的数据库中实现它?单个评论被标记的次数应该很容易储存,但是单个用户标记的所有评论的不断增长的列表呢?
谢谢!
一个好的方法是创建一个新的 table 来保存最低限度的 userid 和 commentid。当用户标记评论时,为您想要跟踪的任何其他信息添加其他列。
此方法的好处是,它允许您在 sql 中使用联接来拉取用户及其所有标记的评论,或评论和标记它的所有用户。它还允许您通过直接查询 table 来进行快速计数。
您的 userid 和 commentid 列上的索引将随着 table 的增长保持快速。
我正在使用 Silex(不确定是否相关)建立博客,我想增加用户报告评论的可能性。
最初我只是在 comments
table 中添加了一个布尔值 flagged
列,默认情况下将其设置为 false
,并将其切换为 true
每当用户点击 "Report the comment" 按钮时。我的计划是能够轻松地向管理员显示所有标记的评论。但我意识到任何用户都可以去报告每条评论,用它淹没管理面板。
所以我想尝试不同的方式。我想计算一条特定评论被标记了多少次,这样我就可以在管理面板的 "Flagged comments" 部分反映出来,这样管理员可以快速查看哪些评论被一个孤独的巨魔标记了哪些那些已经被大量标记并值得关注。
我还想记住特定用户自己标记的评论,因此我可以在他已经标记的评论上为他禁用 "Report the comment" 按钮。
这里有两个问题:
- 这样做好吗?
- 如何在我的数据库中实现它?单个评论被标记的次数应该很容易储存,但是单个用户标记的所有评论的不断增长的列表呢?
谢谢!
一个好的方法是创建一个新的 table 来保存最低限度的 userid 和 commentid。当用户标记评论时,为您想要跟踪的任何其他信息添加其他列。
此方法的好处是,它允许您在 sql 中使用联接来拉取用户及其所有标记的评论,或评论和标记它的所有用户。它还允许您通过直接查询 table 来进行快速计数。
您的 userid 和 commentid 列上的索引将随着 table 的增长保持快速。