2016-08-02 59 views
1

使用withCount我有3種型號:車輛,經銷商和省如何將多個連接和Laravel 5

洋洋灑灑的關係如下:

車輛屬於關聯經銷商

經銷商的hasMany車輛

省有許多經銷商

經銷商屬於省

我想列出每個省的車輛數量,而省份只通過經銷商與車輛掛鉤。

我的代碼:

$provinces = Province::withCount('dealers')->get(); 

foreach ($provinces as $province) { 
    echo $province->dealers_count; 
} 

此代碼是能夠得到經銷商指望每個省,但操縱這些代碼可能無法獲得每個省臺數。任何想法

+1

您可以用'對於這種情況hasManyThrough'關係! – Maraboc

+0

明白了,這是一個基本的問題,我是一個新手.. :) –

+0

欲瞭解更多細節這裏是[文檔鏈接](https://laravel.com/docs/5.1/eloquent-relationships#has-many如果你需要任何幫助,在這裏);) – Maraboc

回答

0

假設您的模型設置正確,我能夠將其添加到我的省模型。

public function vehicles() 
{ 
    return $this->hasManyThrough(Vehicle::class, Dealer::class); 
} 

然後我用它是這樣的...

$provinces = App\Province::with('vehicles')->get(); 

foreach ($provinces as $province) { 
    echo $province->vehicles->count(); 
}