我知道标题是我的项目专用的,因此请允许我解释问题的背景。
我经营一个网站,该网站存储并显示各种摔跤手,标签小组,按次付费观看节目等的入口主题列表(我称为“实体”)。我正在做一个完整的重构,从头开始编写代码,并在重新考虑如何存储入口音乐列表。
每个实体(每个人可能包含一条记录)可能都在多个组织中。例如,摔跤手凯文·纳什(Kevin Nash)(一个人)曾在WWE,WCW和TNA工作。凯文·纳什(Kevin Nash)也有多个“ gi头”或角色,有时会出现在多个组织中。例如,凯文·纳什(Kevin Nash)曾广为人知:在WWE中,他的名字叫Diesel。在TNA中仅作为他的真实姓名;在WCW中是奥兹(Oz)的Vinnie Vegas和他的真实姓名。
这是我最近决定存储此信息的方式:
在中entity_types
,我将为诸如Kevin Nash之类的摔角手存储“摔角手”的实体类型。凯文·纳什(Kevin Nash)将在中输入一个条目entities
,该条目代表他一个人。接下来,Kevin Nash的多个头(记住,可以在多个组织中扩展)将分别存储在entity_gimmicks
表中;记录将包括“ Diesel”,“ Vinnie Vegas”,“ Oz”和“ Kevin Nash”(因为当他出现时是他自己或他的性格表现)。
在entity_instances
我将存储每一个实例,其中凯文·纳什的噱头之一已经出现在一个特定的组织。例如,将存在以下条目:
并且,当然,organizations
将存储出现摔跤手的公司。
现在我的问题。当用户查看摔跤手的主题列表页面时,我希望他们看到例如他在特定公司中使用过的Kevin Nash的所有入口主题(例如WWE)。理想情况下,此清单将显示此人使用的所有头的所有主题的清单。假设凯文·纳什(Kevin Nash)最初是Diesel,曾使用“ Abc”和“ Def”主题。然后,在离开公司并返回凯文·纳什本人的身份后,他使用了主题“ Ghi”和“ Jkl”。我怎样才能最好地对这些主题列表进行排序?
乍一看,人们只会说代码可以先检索the头,然后检索每个头中的主题,然后根据the头的顺序对其进行排序。然而,与此有关的问题是,摔跤手在头之间切换是可能的。例如,约翰·杜(John Doe)最初可能被称为“十字军(The Crusader)”,然后被称为约翰·杜(John Doe),然后又被称为“十字军(The Crusader)”,每个都有新的入场音乐。如果“十字军”是一个头条目,那么在该头下存储的主题如何与在“ John Doe”头下存储的主题相吻合?
这就是我面临的难题。我可以entity_org_sort_order
在themes
表中添加一列,但是当管理员去编辑摔跤手的主题列表时,这可能是一场噩梦。
谁能看到可以解决我的问题的解决方案?即使这意味着要重新考虑重新考虑如何存储所有这些信息,我还是愿意考虑这一点。
对于此问题的最新答案表示歉意。当我搜索“摔跤”,成为粉丝时,我偶然发现了它,并好奇地发现网站上是否有与摔跤相关的问题!
您的项目听起来很有趣。我不知道您是否解决了问题,但我会查看您的实体并将它们拆分到您自己的表中。因此,您提到了人,头,组织和入口主题。您的关系如下所示:
有了这两个关系,您就可以找到Kevin Nash在WWE中使用的头,或者他为自己的真名而为哪些组织而奋斗。
入口主题变得复杂。您要将主题与人或or头相关联吗?我个人会将主题与a头相关联,通常在change头改变后,摔跤手会采用新的音乐。我真的想不出摔跤手在其中使用相同主题的任何头变化。现在,您有了:
使用Laravel,这些关系将产生下表:
people
gimmicks
(的外键person
)organisations
entrance_themes
(的外键gimmick
)gimmick_organisation
(数据透视表)然后,您可以找到摔跤手在组织中使用过的主题,方法是列出该组织的their头,然后列出该subset头的子集的入口主题。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句