Laravel - Записване на резултати от SQL заявка в масив

respec7_m3

Registered
Здравейте, първо нека покажа СХЕМА на цялата база от данни.
Това е база данни пълна с информация за състезания от формула 1. Това, което се опитвам да направя е следното:
От таблица drivers искам да взема първото и второто име на пилота, който е победил в дадено състезание.
За целта правя следната заявка:
Код:
$winners = DB::table('drivers')
            ->join('results', 'drivers.driverId', '=', 'results.driverId')
            ->select('drivers.forename', 'drivers.surname')
            ->where('results.raceId', '=', '1010')
            ->where('results.position', '=', '1')
            ->distinct()
            ->get();

До тук добре, но така вземам две имена на пилот спечелил състезание с ID 1010.
Целта ми е да взема имената на всички пилоти спечелили състезания през сезон 2020.
Правя си една заявка, в която взимам състезанията, които ми трябват от таблица races, която изглежда така:
Код:
$allRaces = Races::all()->where('date', '>', '2020');
След което с foreach цикъл обхождам за да взема ID-то на всяко състезание за да мога след това да го подам като динамичен параметър в първата заявка:
Код:
foreach ($allRaces as $k => $v)
{
    $arr[] = $allRaces[$k]->raceId;
}

В момента успявам да запиша имената на пилот само за конкретно състезание, чрез първата заявка, която съм показал.
Въпросът ми е как да подам тези ID-та от foreach цикъла динамично в първата заявка, така че имената на пилотите да бъдат записани в масив?
 
Ако съм те разбрал, търсиш нещо подобно или не съм схванал правилно заданието ти?
Код:
$allRaces = Races::all()->where('date', '>', '2020');
$arr = [];
foreach ($allRaces as $k => $v)
{
    $arr[] = $allRaces[$k]->raceId;
}

$winners = DB::table('drivers')
            ->join('results', 'drivers.driverId', '=', 'results.driverId')
            ->select('drivers.forename', 'drivers.surname')
            ->whereIn('results.raceId', $arr )
            ->where('results.position', '=', '1')
            ->distinct()
            ->get();
 
Можеш да започнеш с races, после join-ваш results (races.raceId = results.raceId) и drivers (results.driverId = drivers.driverId).
 

Горе