我有这个项目,我有一个问题,有3个相关的enteties。
User:
has_many: Leads
Bot:
has_many: Leads
Lead:
has_one: User/Bot
现在,用户和机器人共享很多相同的东西,但他们使用不同的防火墙,他们有许多不同的领域等,但我希望用户和机器人可以互换,以确定领导者属于谁,它可以属于机器人或用户,也可以同时属于两者。
在我运行统计数据等的其他许多网站中,我只参考一个字段,我不会检查是否有用户或机器人。
是否可以使这两个enteties共享相同的主键,然后以某种方式引用Lead字段中的单个实体?
或者Symfony中最好的设计方法是什么?
答案 0 :(得分:1)
如果您在2个实体中拥有相同的所有字段,我建议您完全删除Bot实体。您只需要一个字段/usr/bin/qtcreator: line 2: 4379 Bus error (core dumped) QT_LOGGING_TO_CONSOLE=1 qtcreator-bin $@
,其中包含可用值type
和bot
。为了优化SQL查询,我建议您将此字段声明为ENUM类型。
此外,如果您确实需要不同的实体,可以使用Single table inheritance和上述的鉴别字段user
。