2017-04-16 102 views
1

我正在用Laravel 5.4构建一家服装店的api,我有这种情况。我有一个有衣服的衣架。但同样的作品可以在机架上多次出现。Laravel发生多次关系

rack 
-id 
-description 
product 
-id 
-description 
product_rack 
-id 
-rack_id 
-product_id 

我有一个多对多的关系,因为可以在很多货架上进行产品和机架有多个产品。然而,我不确定我如何将产品多次连接到机架上。

像例如ID为1机架有2次产品5和1个产品3

我可以使用attach()功能,但如果我detach()它释放所有产品从机架上,而不是一个。

+0

看看Laravel的多对多关系:https://laravel.com/docs/5.4/eloquent-relationships#many-to-many – TurtleTread

+0

嗯..你想同一个产品出现多次在同一个机架?这样做的目的是什么...... – TurtleTread

+0

那么,如果你去商店有一个很大的变化,一件衣服多次出现在机架上。我希望我的API能够显示。 –

回答

0

您可以添加一个额外的列描述在特定机架

例如产品数量product_rack表:

rack_id | product_id |计数

1 | 5 | 2
1 | 3 | 1

你可从产品的最终使用count

$product->rack->pivot->count 

,并从机架结束

$rack->product->pivot->count 

阅读文档中获取中间表中的列。

https://laravel.com/docs/5.4/eloquent-relationships#many-to-many

希望这有助于。 :)

+0

谢谢您的回答,我将如何更新计数列? –

+0

我想当你添加或取出物品。 –