Mysql 类似Facebook的通知系统(全球图标)

Mysql 类似Facebook的通知系统(全球图标),mysql,join,database-design,notifications,Mysql,Join,Database Design,Notifications,我正在尝试创建一个类似Facebook的通知系统。我在这篇文章的最后解释了我的通知系统的确切目的 下面的代码应该显示关于帖子/评分等的所有通知,当然除了我的帖子。它还应该显示我是内容创建者的所有通知(n.creator\u id)。但结果是空的: SELECT (SELECT COUNT(*) FROM `notification_read` WHERE `is_read`='0' AND `uid`='".$_SESSION['uid']."') AS count, n.`id`,n.`si

我正在尝试创建一个类似Facebook的通知系统。我在这篇文章的最后解释了我的通知系统的确切目的

下面的代码应该显示关于帖子/评分等的所有通知,当然除了我的帖子。它还应该显示我是内容创建者的所有通知(
n.creator\u id
)。但结果是空的:

SELECT 
(SELECT COUNT(*) FROM `notification_read` WHERE `is_read`='0' AND `uid`='".$_SESSION['uid']."') AS count,
n.`id`,n.`site`,n.`site_id`,n.`creator_uid`,n.`type`,
nu.`id` AS nuid,nu.`uid` AS nu_uid,nu.`date`,
u.`gender`

FROM `notification` AS n
LEFT JOIN `notification_user` AS nu ON nu.`nid` = n.`id` 
LEFT JOIN `users` AS u ON u.`id` = nu.`uid` 
WHERE 
    ( 
    nu.`uid` != '".$_SESSION['uid']."'
    AND
    n.`creator_uid` = '".$_SESSION['uid']."'
    )
GROUP BY n.`id` 
ORDER BY nu.`date` DESC
LIMIT 7
表结构包括:

通知
:id、站点id、创建者uid、站点、类型

通知\u用户
:id、nid、uid、日期

notification\u read
:id、nuid、uid已读取

进一步解释:我需要离开加入
用户
,因为我需要性别来表示“X喜欢他/她的评论”。计数显示我希望在该全球图标上显示的通知数量

此外,我想不出更好的表格结构来满足我的需求,因为我想做的就是这样。但如果有更好的方法或更好的表结构或其他我可以改进的地方,我愿意接受建议

我的目标是显示以下各项的通知:

  • 我创建的内容(img上传、评论、评分等)
  • 我评论、评价过的其他人的内容等
  • 如果我获得学分
  • 如果有人使用我的推荐链接在网站上注册

基本上是社交网络的东西。提前感谢您对该结构的建议或/或对我的问题的回答,为什么我的SELECT语句显示空结果。

我遇到了同样的情况,我看到了这一点

所以也许你能从那篇文章中得到一个想法