【发布时间】:2021-10-09 09:53:31
【问题描述】:
我是初学者,不会说英语,所以我提前道歉。
我想这应该用访问器或某种多态关系来回答。但我很好理解它,所以寻找一个简单的例子来更好地理解它。或者也许这可以通过其他方法来实现?
有一个父参考模型:
- 身份证
- reference_name
和多个子模型相关:
- 身份证
- 宽度
- 长
- 权重(此字段可能存在也可能不存在/写为INT)
- thickness (此字段可能存在也可能不存在/写为 INT)
- 每个模型的其他特定字段
有些孩子只有厚度,有些只有体重,有些可能两者都有。我不能只创建一个表并让它为空。每个子类别必须有多个表,所以我必须有多个模型。
一个孩子可以是:
子类别 1
- 身份证
- 宽度
- 长
- 重量
子类别2
- 身份证
- 宽度
- 长
- 厚度
子类别 3
- 身份证
- 宽度
- 长
- 重量
- 厚度
我是否可以像这样从父引用创建关系并访问属性:
$reference->thickness;
如果存在则应该检索 witdth,如果不存在则返回 null。
【问题讨论】:
-
为什么要为每个子类别使用多个模型?
-
最终这些子类产品的价格应该由绝对不同的参数来计算。所以我决定把每一个都分成不同的子类别,用它们自己的属性。但其中一些可能会或可能不会共享一些。
标签: laravel eloquent eloquent-relationship