3
讓說我有一個像下表:如何讓Laravel 5擁有多層hasMany()關係?
order
order_id | customer_name | delivery_address
1 | David | ABC Road, DEF district
...........Some other record ..............
order_dish
order_id | dish_id | dish_name
1 | 1 | chicken wing
1 | 2 | meat pie
1 | 3 | onion ring
...........Some other record ..............
dish_ingredient
dish_id | ingredient
1 | chicken wing
1 | salt
1 | oil
2 | pork meat
2 | flour
3 | onion
...........Some other record ..............
在Laravel 5,如果我想獲得一個訂單的所有的菜,我可以這樣做:
$order = Order::hasMany('App\OrderDish', 'order_id')->get();
有沒有一種方法可以讓我在一行中獲得訂單所需的全部成分?
檢查HTTPS ://laravel.com/docs/5.3/eloquent-relationships#has-many-through,這應該可以解決你的問題。 – shoieb0101
您需要在Order模型中定義hasMany OrderDish。此外,orderDish模型應該有一個hasMany dishIngredients(如果我理解正確) –
您發佈的代碼不會讓你「所有菜餚的訂單」,因爲你沒有在任何地方傳遞訂單ID –