只要你跟踪你所需要的东西不应该是问题,诀窍将在写作Sql。例如,如果你有以下的表结构
person
------
id
name
otherstuff
person_releationship
-------------------
person_a_id
person_b_id
relationship_type_id
relationship_type
-------------------------
id
content_priority
content
--------------
id
stuff
person_id
user_priority
你可以写下面的语句这将检索与人相关联的所有内容,但不包括他们自己的内容,通过content_priority
SELECT
stuff
FROM
content c
INNER JOIN person p
ON c.person_id = p.id
INNER JOIN person_releationship pr
ON p.person_id = pr.person_a_id
or p.person_id = pr.person_b_id
INNER JOIN relationship_type rt
ON pr.relationship_type_id = rt.id
WHERE
p.id = "A"
and c.person_id <> "A"
ORDER BY
rt.content_priority,
c.user_priority
如果优先希望你也可以使用加权优先所以ORDER BY可能是
ORDER BY
rt.content_priority * c.user_priority
你应该注意到,这个SQL和表的设计是自主创新结关系数据库管理系统和网络技术。
因此,如果内容具有被用户关系覆盖的默认优先级,是否需要选择哪一个更重要,还是应该通过公式将列互相混合: content --- ----------- ID 东西 person_id content_priority –
那么这取决于你。你希望非朋友的最高优先级总是低于朋友的最低优先级吗? –
我不确定什么是RDSM。这对加权优先权很有意思。谢谢。 –