Laravel关系复合主键

时间:2020-04-12 14:24:22

标签: php mysql laravel composite-primary-key

如何使用组合键在Laravel中定义关系?

我有2个表,这些表具有2个主键,顺序为[id_order,id_trip]和明细顺序[id_trip,id_seat]。

我试图在index.blade.php中获得$ order-> detail_order-> id_seat,但是错误是数组到字符串的转换(视图:D:\ xampp \ htdocs \ travel \ resources \ views \ order \ index.blade.php)

我认为我在定义模型关系方面存在错误。这是我的代码:

Order.php

logistics

Detail_Order.php

UNION ALL

index.blade.php

SELECT
product,
KPI,
SUM(sales_volume)
FROM sales
GROUP BY 1

UNION ALL

SELECT
product,
KPI,
SUM(quantity)
FROM logistics
GROUP BY 1

有人知道吗?谢谢。

2 个答案:

答案 0 :(得分:0)

Laravel不支持复合主键。您遇到“数组到字符串转换”错误,因为Laravel尝试将数组转换为字符串。

protected $primaryKey = ['id_order', 'id_trip'];

答案 1 :(得分:0)

不能。口才不支持复合主键。 但是您可以使用名为LaravelTreats的开源软件包。

希望这对您有帮助

参考:https://stackoverflow.com/a/36995763/10765839