Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/265.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何在Laravel中使用多个透视表?_Php_Mysql_Laravel - Fatal编程技术网

Php 如何在Laravel中使用多个透视表?

Php 如何在Laravel中使用多个透视表?,php,mysql,laravel,Php,Mysql,Laravel,我有四张桌子 订单-PK(订单号) 订单集合-PK(订单集合id),FK(订单id) 订单收集产品-PK(订单收集产品id),FK(订单收集产品id) 产品-PK(产品id) Laravel文档解释了如何仅使用一个透视表获取数据。 那么,如何从产品表中获取与特定订单相关的数据呢? 如何使用两个数据透视表?关于您的问题,您是否希望订单和产品之间有一个数据透视表,或者只希望按订单(反之亦然)获得产品。@CarlosHerreraPlata例如,我想获取特定订单id的所有产品的名称。名称存储在产品表中

我有四张桌子

订单-
PK(订单号)

订单集合-
PK(订单集合id)
FK(订单id)

订单收集产品-
PK(订单收集产品id)
FK(订单收集产品id)

产品-
PK(产品id)

Laravel文档解释了如何仅使用一个透视表获取数据。 那么,如何从
产品
表中获取与特定订单相关的数据呢?

如何使用两个数据透视表?

关于您的问题,您是否希望订单和产品之间有一个数据透视表,或者只希望按订单(反之亦然)获得产品。@CarlosHerreraPlata例如,我想获取特定订单id的所有产品的名称。名称存储在产品表中。所以我需要通过两个数据透视表来连接订单和产品表。比如:
product->order\u collections()->first()->order->name
@CarlosHerreraPlata您能不能编写这个语句将使用的类?您可以通过数据透视表将产品与订单集合关联,订单集合与订单关联,通过一对多(我认为),所以,您可以访问First,获得de order\u collection
$order\u collection=product->order\u collections()->fist()
,在获得与订单相关的
$order\u collection->order->name
之后,另一个选项是通过关系进行多个连接或进行连接