与要使用的关系类型混淆

时间:2018-05-22 12:37:10

标签: laravel

我有一个模型'列出'。并且有3种类型(商业列表,特许经营者列表和特许经营者列表)相同&每种类型的列表都有不同的数据。我应该选择哪种关系?模型将如何相关?我的意思是,该模型如何列出'将连接所有三个型号?什么是'列出'的结构?模特,控制器?

编辑:问题尚未解决:(当我尝试通过父级从子表中获取一些数据时,它并没有给我任何结果。(附上图像以便更好地理解结构){{ 3}}

1 个答案:

答案 0 :(得分:1)

我会选择以下内容:

选项1:

  • 清单

    • listing_type_id:[数字]
    • other_fields_here:[string]
  • 列表类型

    • id:[数字]
    • name:[string]

选项2:

  • 通用列表
    • your_generic_fields_here:[string]
    • child_id:默认null [数字] - >指向某种类型(特许经营,商业等)

以上也可以反过来做;子项链接到父项而不是子项的父项。只需在下面的列表中添加parent_id即可。

  • 特许经营列表

    • other_fields_here:[string]
  • 商家信息

    • other_fields_here:[string]
  • 其他清单类型....

确定您需要哪些列,哪些列在列表类型之间共享,并将它们放在通用列表表中;为其余的表创建其他表,并使用parent_id作为通用数据;或者只是完全使用不同的表格。

Laravel

我不会过于复杂化,只需使用三个源自Listing基础模型的模型;基本模型可以包含here所示的列表类型和其他数据。

您可以阅读有关多态关系的更多信息here