Jeg tror, at problemet er, at din ::has() metoden leder efter produkter med præcis 5 forskellige størrelser på hvert specifikt produkt, hvilket ville antage, at du ville bruge $this->hasMany('Size') i din produktmodel. Hvor som ::where() metoden returnerer resultater, hvor produktets størrelse er 5.
I dokumentationen bruger de et eksempel på kommentarer. Et indlæg vil have en liste med kommentarer. Du kan finde indlæg, der har mindst én kommentar (dvs. Post::has('comments')->get() ), eller du kan finde indlæg, der har mere end 3 kommentarer (dvs. Post::has('comments', '>=', '3')->get() ).
https://laravel.com/docs/eloquent#querying-relations