Eu acho que o problema é que seu
::has() O método está procurando produtos com exatamente 5 tamanhos diferentes em cada produto específico, o que pressupõe que você esteja usando $this->hasMany('Size') em seu modelo de produto. Onde como o ::where() está retornando resultados em que o tamanho do produto é 5. Na documentação eles usam um exemplo de comentários. Uma postagem terá uma lista de comentários. Você pode encontrar postagens que tenham pelo menos um comentário (por exemplo,
Post::has('comments')->get() ) ou você pode encontrar postagens com mais de 3 comentários (por exemplo, Post::has('comments', '>=', '3')->get() ). https://laravel.com/docs/eloquent#querying-relations