Myślę, że problem polega na tym, że Twój ::has() metoda szuka produktów o dokładnie 5 różnych rozmiarach dla każdego konkretnego produktu, co zakłada, że użyjesz $this->hasMany('Size') w Twoim modelu produktu. Gdzie jako ::where() metoda zwraca wyniki, w których rozmiar produktu wynosi 5.
W dokumentacji posługują się przykładem komentarzy. Post będzie zawierał listę komentarzy. Możesz znaleźć posty, które mają co najmniej jeden komentarz (np. Post::has('comments')->get() ) lub możesz znaleźć posty, które mają więcej niż 3 komentarze (np. Post::has('comments', '>=', '3')->get() ).
https://laravel.com/docs/eloquent#querying-relations