我正在制作一个用户可以关注标签的微博网站。就像在 twitter 中一样,用户可以关注其他用户。在我的项目中,他们也可以关注标签。实现标签跟踪的数据库设计应该是什么?用户跟踪很容易。
一种方法是在包含帖子的表中有 5 个标签 ID 列:
表:帖子
列:PostID、AuthorID、TimeStamp、Content、Tag1、Tag2...Tag5
我将制作两个逗号分隔的列表:一个是给定用户关注的用户,另一个是给定用户关注的标签:$UserFollowingList 和 $TagFollowingList
并且选择查询可以是:
select ... from `Posts` where ($Condition1) or ($Condition2) order by `PostID` desc ...
$Condition1 = "$UserFollowingList 中的`AuthorID`"
$Condition2 = " ($TagFollowingList 中的`Tag1`) 或($TagFollowingList 中的`Tag2`) ...或($TagFollowingList 中的`Tag5`)"
请建议一个更好的方法?如果我不想限制为 5 个标签怎么办?我有一个想法,但想知道像你这样有经验的开发人员会做什么?