Как получить только элементы, равные значению средней скорости в одном запросе? - PullRequest
0 голосов
/ 16 октября 2019

я хочу получить только элементы, средняя скорость которых равна [3,5] // Пример

при записи в модель

public function rate()
{
        return $this->hasMany('App\Models\Rate', 'fk_service')->avg('rate');
}

get error Вызов функции-члена addEagerConstraints () onстрока

при удалении "-> avg (rate)" получить все данные, но мне нужна только средняя скорость

при записи в модель

public function rate()
{
    return $this->hasMany('App\Models\Rate', 'fk_service');
}

// и в контроллер

$engravings = Engraving::where('engravings.status', 1);
if(!empty($request->rate)){
    $engravings->whereHas('rate', function($query) use ($request){
        // Code use WhereIn How To do it
    });
}

$engravings = $engravings->get();

1 Ответ

0 голосов
/ 16 октября 2019

// Использование кода WhereIn Как это сделать

$query->whereIn('rate', [3,5]);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...