我有两张桌子


  提供者和用户请求


我只需要那些已取消两个或多个请求的提供商

Providers.php

public function trips() {
    return $this->hasMany('App\UserRequests');
}


UserRequests.php

public function provider()
{
    return $this->belongsTo('App\Provider');
}


我如何才能仅获得具有2个以上取消请求的提供商?

user_requests表具有以下列:

provider_id, status


状态=>枚举=('SEARCHING','CANCELLED','ACCEPTED')

谢谢!

最佳答案

我认为您可以使用:

$userRequests = UserRequests::where('status','CANCELLED')
                    ->groupBy('provider_id')
                    ->havingRaw('COUNT(*) >= 2')
                    ->with('provider')
                    ->get();

10-08 06:53