2017-04-18 47 views
1

我具有被彼此相關的如何在Laravel中使用3張桌面的口才?

1客戶可以有1個或多個輪胎和輪胎1可具有3個或更多個測試如實施例下面

這個數據庫表和我想要得到的這個輸出以下使用customer_id

我有查詢生成器的想法,但我只是想知道在這種情況下使用雄辯關係?任何人都可以給我建議?

任何人都可以告訴我使用雄辯的ORM關係做這個例子嗎?

三江源

customer_id  customer  manufacturer trademark  test 
1    Jeddah  Pirelli   Str Scorpio High Speed 
1    Jeddah  Pirelli   Str Scorpio Endurance 
1    Jeddah  Pirelli   Str Scorpio Visual 

第一個表:tbl_customer

id = 1 //unique id 
letter_number = 520 
customer = Jeddah 

二表:tbl_tire

id = 1 //unique id 
customer_id = 1 
manufacturer = Pirelli 
trademark = Str Ccorpio 

三表:tbl_test

id = 1 //unique id 
tire_id = 1 
customer_id = 1 
test = High Speed 

id = 2 
tire_id = 1 
customer_id = 1 
test = Endurance 

id = 3 
tire_id = 1 
customer_id = 1 
test = Visual 

回答

0

既然你已經知道customer_id,這樣做:

$tires = Tire::where('customer_id', $customerId)->with('tests')->get(); 

這將創建2個查詢,但測試將一種嵌套(在你的例子不一樣),這是更好,因爲它更喜歡與數據合作在這種情況下。