I would consider using as is with db facade, for an example see:
https://laracasts.com/discuss/channels/laravel/sql-native-to-query-builder
Give me minute, for example of eloquent query:
Not your data, just an eloquent query example:
$quy = Powner::query()->leftJoin('dc_pets', 'dc_powners.ownerid', '=', 'dc_pets.ownerid')
->select('dc_powners.ownerid', 'dc_powners.oname')
->selectRaw('count(dc_pets.petid) as countOfPets')
->groupby('dc_powners.ownerid')
->orderby('dc_powners.oname')
->get();
Results basically give:
ownerid, oname, countOfPets
Like:
5|Bob|3
4|Greg|9
2|Rob|1
Just use a little trial and error to work it out.