创建MySQL分层递归查询

时间:2018-06-15 10:46:45

标签: mysql sql database

我的博客上有两种类型的网页:

  1. 已打开的页面 - 每个人都可以查看该页面
  2. 已关闭的页面 - 只有页面的关注者才能查看帖子
  3. 页面的关注者可以是单个用户或一组用户。 一个组可以包含单个用户或一组用户。

    如何以我知道用户X是否可以查看帖子Y的方式查询我的数据库?

    我的数据库是一个MySql数据库,我有这些表:

    1个实体

      id : type : time_created
      1       1            ...
      2       1            ...
      3       2            ...
      4       2            ...
      5       3            ...
      6       3            ...
      7       4            ...
      8       4            ...
      9       3            ...
    

    2种类型

     id : value
      1   post
      2   user
      3   group
      4   page
    

    3页

     id : page_id : is_closed : title
      1         7   false       "mordi"
      1         8   true        "cool"
    

    4 entity_relationships

      id : id_one : relationship : id_two
       1        1   "part_of"          7
       2        2   "part_of"          8
       3        3   "member_of"        5
       4         5  "member_of"        6
       5         6  "member_of"        9
       6         9  "follower_of"      8
    

    我需要发现具有实体ID 3的用户可以查看实体ID为2的帖子,因为3如果是5的成员,则是6的成员,其中6的成员是作为9的跟随者的成员第8页(一个封闭的页面),帖子2是...的一部分。

    谢谢!

0 个答案:

没有答案