我有3张桌子:
公司
产品
图片
现在,公司和产品是多对多关系。
意思是,一个公司可以有多个产品,而一个产品可以属于多个公司。因此,我有一个名为 companies_products 的数据透视表,其中包含数据透视表或其他列,例如:价格,折扣,状态等...
注意:“产品”表仅表示公共数据,即没有价格,状态等。产品仅包含数据透视列,因为这是每个公司唯一的产品。
一切都很好,直到这里。现在,由于数据透视表代表每个公司的唯一产品列。我还想将product-images表附加到此数据透视表。这意味着,我的结构将是每个枢轴行都有许多product_images。
但是在Laravel中,我猜想数据透视表没有模型,因此不鼓励这样做。那么如何用数据透视表实现has-many?
还有其他更好的解决方案来构造我的表或数据吗?
总之,
我有1个公司表和1个产品表(唯一)。
公司通过添加额外的数据和图像(数组)来创建最终产品。我可以处理作为枢轴列的额外数据,但不能处理图像(在这种情况下为图像数组。在产品表级别上,我不能直接拥有1到1的数据,因为每个公司都向其中添加了具有额外数据的产品。
答案 0 :(得分:0)
您可以为数据透视表定义模型。 Defining Custom Intermediate Table Models涵盖了这些文档。为此,您的模型的类应扩展:
Illuminate\Database\Eloquent\Relations\Pivot
代替
Illuminate\Database\Eloquent\Model
。