2016-08-02 56 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(); 
}