quote
->get()
->groupBy('transactionType.category');
unquote
Why do you have a groupby after a get?
This works, maybe adjust to your data:
$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
https://laravel.com/docs/5.8/queries
But you could also set up eloquent relations if you want to:
https://laravel.com/docs/5.8/eloquent
https://laravel.com/docs/5.8/eloquent-relationships
I'd suggest viewing some videos on some of these various topics.