Laravel多次出现关系

时间:2017-04-16 18:27:01

标签: php laravel

我正在用Laravel 5.4为服装店建造一个api,我有这种情况。我有一个衣架上有衣服。但是同一块可以在机架上多次出现。

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

我有很多关系,因为产品可能出现在许多机架上,而机架有多种产品。但是,我不确定如何将产品多次连接到机架上。

例如,ID为1的Rack有2次产品5和1次产品3。

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

1 个答案:

答案 0 :(得分:0)

您可以在product_rack表中添加一个额外的列,描述特定机架中的产品数量

示例:

rack_id | product_id |数

1 | 5 | 2
1 | 3 | 1

您可以使用产品结束

来检索计数
(defgeneric caesar (text n)
  (:method ((text string) n)
   ;; if we're given a string just turn it into a list, then recurse
   ;; on the list & turn it back to a string (of the same type, hence
   ;; TYPE-OF).
   (coerce (caesar (coerce text 'list) n) (type-of text))))

(defmethod caesar ((text null) n)
  ;; termination
  '())

(defmethod caesar ((text list) n)
  ;; The recursive level (note this has various issues which are in
  ;; the original code & not addressed here
  (cons (code-char (+ n (char-code (first text))))
        (caesar (rest text) n)))

从机架端

$product->rack->pivot->count

阅读文档中的检索中间表列。

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

希望这会有所帮助。 :)