Laravel Eloquent - Return 哪里有 + 哪里

Laravel Eloquent - Return Where Has + Where

我有客户通过订单收到很多包裹。

public function parcels()
    {
        return $this->hasManyThrough(Parcel::class, Order::class);
    }

我想 return 包裹超过 0 个且状态为成功的客户。 但我不知道如何添加包裹状态条件。目前,此声明为我提供了一份拥有包裹的客户列表。 $customers = Customer::has('parcels', '>' , 0)->get();

您可以使用whereHas方法。

$customers = Customer::whereHas('parcels', function ($query) {
    $query->where('status', 'successful');
})->get();