のカスタムメソッド/関係私は多対多の多型の関係(下図)の問題を持っています。食料品店では、いくつかの製品にオプション/バリアントがあります。ピザは7inch、12inch、16inchのバリエーションがあります。ピザがカートに追加されると、バリアントを選択する必要があります。注文が 保存されLaravel多対多の多形性の関係 - ピボット
- (亜種なし)買った製品はorderables
テーブル に保存されます - variant_orderables
テーブルところで
に保存されている購入されている変異型を、ピボットテーブルが呼び出されますorderables
とvariant_orderables
のように、Laravelの規則に従って予想されるものではなく、 「customer_order_product」、customer_orders
に加えて、products
とvariants
は(店業者からそれらの項目を購入)stock_orders
と多型の関係にもあるからです。私はダイアグラム上のすべてを単純に保つようには示していませんでした。
いずれにしても、products
またはvariants
となっている商品を購入した場合は、「追加品」を順番に追加することができます。例えば。ピザは余分なチーズ、またはペパーノをエクストラとして持つことができます(extras_groups_offers
テーブルに含まれている情報)。私たちはエキストラがオンに適用されているorderables
またはvariant_orderables
IDとともに、順序付けられたエキストラのproduct
またはvariant
IDの一覧を表示する場所
ordered_extras
です。
だからvariants
とcustomer_orders
間、variant_orderables
ピボットであるが、その後variant orderables
ピボットとしてordered_extras
とextras_groups_offers
との関係を有しています。
私はおそらくnewPivotで何かをする必要がある知っているが、これは、いくつかの多型多対多の関係を必要とするよう、私はそれについて移動する方法が正確にわかりません。誰かが私にシンプルなソリューションを教えてもらえれば、とても感謝しています。
基本的には、注文された製品/バリアント、注文された各製品/バリアントのすべての注文エクストラを含む、注文に必要なすべての情報を積極的にロードできる段階に到達しようとしています。私はちょうどそれについて行く方法を知らない。
ありがとうございました。