仅获得那些在Laravel Eloquent中两次或更多次取消请求的用户

时间:2019-04-28 05:46:06

标签: php mysql database eloquent laravel-5.5

我有两个桌子

  

提供者和用户请求

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

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

其中status =>枚举=('SEARCHING','CANCELLED','ACCEPTED')

谢谢!

1 个答案:

答案 0 :(得分:1)

我认为您可以使用:

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