Получать только тех пользователей, которые отменили запрос два или более раз в Laravel Eloquent - PullRequest
0 голосов
/ 28 апреля 2019

У меня есть две таблицы

Поставщики и User_Requests

Мне нужно получить только тех поставщиков, которые отменили два или более запросов

Поставщики.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 => enum = ('SEARCHING', 'CANCELED', 'ACCEPTED')

Спасибо!

1 Ответ

1 голос
/ 28 апреля 2019

Я думаю, вы можете использовать:

$userRequests = UserRequests::where('status','CANCELLED')
                    ->groupBy('provider_id')
                    ->havingRaw('COUNT(*) >= 2')
                    ->with('provider')
                    ->get();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...