如何在Laravel 5中多次连接和使用withCount

时间:2016-08-02 16:44:55

标签: mysql laravel eloquent laravel-5.2

我有3个车型:车辆,经销商和省

雄辩的关系如下:

  

车辆所属经销商

     经销商拥有多辆车

     

省有很多经销商

     

经销商属于省

我想列出每个省份的车辆数量,而省份只通过经销商与车辆相关联。

我的代码:

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

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

此代码可以让每个省的经销商数量,但操纵此代码无法获得每个省的车辆数量。任何想法

1 个答案:

答案 0 :(得分: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();
}