是否可以在数据透视表和另一个表之间创建一个具有许多关系的表?

时间:2019-04-20 05:24:18

标签: mysql database laravel eloquent pivot

有一个名为order_product的数据透视表,如下所示:

order_id | product_id | quantity | price
1          2            3          1500

我需要为每个order_product添加序列号,但这是不可能的,因为有一个number列,并且每个产品都有自己的序列号。

解决此问题的最佳方法是什么?

像这样向order_product表添加ID是一个好主意:

id | order_id | product_id | price
1    6          2            1500

并创建另一个名为serials的表,像这样吗?:

id | order_product_id | serial
1    1                  6545154
2    1                  123
3    1                  456

如果没有其他方法,我可以使用像Eloquent这样的ORM来实现它吗?

1 个答案:

答案 0 :(得分:0)

创建一个名为OrderProducts(或您想要的任何名称)的新模型,在该模型中添加以下受保护的字段:

protected $table = "order_product";

在将名为serials的字段的演员表添加到此模型后:

protected $casts = [
        "serials" => "array"
    ];

现在您的序列号应该是已售产品序列号的数组。

相关问题