0

私はLaravelモデルをいじっていますが、(Laravelを使用して)関係を確立できないかなり一般的なデータベース設計パターンに出くわしました。

こちらがDatabase design

次のテーブルのみを考慮する場合 (簡単に する ため
) : 1回の注文で複数の商品を注文する)



ここに私がこれまでに持っているものがあります:
1.製品HAS MANYProduct_Prices
2. Product_PricesBELONGS TO製品
3.顧客HAS MANYCustomer_Orders
4. Customer_OrderBELONGS TO顧客
HAS MANY
BELONGS TO

テーブルにリレーションシップを確立することでPricefor eachCustomer_Order_Productsが取得されると思いますか? Productsどうすればそのような関係を築くことができるでしょうか。

Laravel Collection Object次の詳細でを取得する方法(Eloquentコレクション オブジェクトのみを返すのか、それとも と同じなのかはわかりませんFluent):
1. CustomerWITH Customer_OrdersWITH Customer_Orders_ProductsWITH Product_Price?

また、次のような制約を設定する方法:
1. CustomerWITH Customer_OrdersWITH Customer_Orders_ProductsWITH Product_PriceWHERE Product_Price < Customers_Order.date_order_placed?

ありがとう

4

2 に答える 2

0

あなたの場合、Customer_Orders_Products は単なる派手な結合テーブルではなく、Product_Prices テーブルとの関係を持つ独自のモデルです。

テーブルに product_price_id を追加して、注文した製品を価格にマップします。

これにより、価格を直接保存するのとほぼ同じオーバーヘッド コストで柔軟性が追加されます (おそらく、価格は「最近」ではなくボリュームによって決定されます)。

于 2013-11-06T04:15:07.950 に答える