$tags_pages=[44,34,21,54]; // Это лишь пример массива. Элементы и количество массива меняется.
$Product = Product::whereHas('tags', function($query) use($tags_pages)
{
$query->whereIn('id',$tags_pages);
}, '=', count($tags_pages))->get();