2016-04-26 89 views
0

我有兩個表獲取記錄 - laravel雄辯

ProductAttribute

- ID (PK) 
- ProdID (FK) 
- AttrName 

產品

- ID (PK) 
- ProdName 
- MerchantID(FK) 

現在我想獲取特定產品的所有屬性,其中商戶id = 5。 任何人都可以幫助我在中構建查詢雄辯。

我創造了我自己,但它顯示了所有產品的所有屬性與商戶,並顯示出空產品陣列,其中商家ID是不是5

請幫我解決了這一點。

回答

0

你可以得到所有需要的Products與熱切加載像這樣的屬性:

$products = Product::where('id', '>', 5)->get()->load('productAttributes'); 

我覺得代碼段是不言自明。要只選擇一種所需產品,您可以用Product::find(5)(或用Product::findMany([1, 2, 3])取代Product::where('id', '>', 5)以獲得多種產品)。

+0

感謝您的回覆。我想根據傳遞的商家ID獲取產品屬性數組。我有商戶ID,我想要獲得產品屬性數組 –

+0

要做到這一點,您可以簡單地'Merchant :: find(5) - > products() - > get()'。換句話說,您需要首先檢索該商家,然後獲取他的產品。爲特定商家調用'products()'將爲您提供僅與該商家相關的產品。 –

+0

產品()來自哪裏? –