我有 3 个表:
公司
产品
图片
现在,公司和产品是多对多关系。
意思是,一个公司可以有很多产品,一个产品可以属于多个公司。因此,我有一个名为 companies_products 的数据透视表,其中包含数据透视表或其他列,例如:价格、折扣、状态等...
注意:产品表仅代表通用数据,即它没有价格、状态等...产品仅包含主列,因为这就是它使每个公司的产品独一无二的方式。
到这里为止一切都很好。现在因为数据透视表代表每个公司的独特产品列。我还想将产品图像表附加到该数据透视表。这意味着,我的结构将是每个数据透视行都有许多产品图像。
但在 Laravel 中,我猜数据透视表没有模型,不鼓励这样做。那么如何用数据透视表实现has-Many呢?
或者有更好的解决方案来构建我的表或数据吗?
总而言之,
我有 1 个公司表和 1 个产品表(唯一)。
公司通过添加额外的数据和图像(数组)来创建最终产品。我可以处理作为枢轴列的额外数据,但不能处理图像(在本例中是图像数组)。我不能直接在产品表级别上处理一对多,因为每个公司都会添加一个带有额外数据的产品。
最佳答案
您可以定义数据透视表的模型。它包含在 Defining Custom Intermediate Table Models 中的文档。为此,模型的类应该扩展:
Illuminate\Database\Eloquent\Relations\Pivot
而不是
Illuminate\Database\Eloquent\Model
。
关于php - 从数据透视表创建 hasMany 或一对多关系 - Laravel,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53641219/