Ya ben tam anlatamadım, yada sizi anlamadım.

Kurduğum yapı da ShowProduct modelinde id,category_id, ve limit var.
id category_id limit
1 1 3
2 4 3
$ana_sayfa_kategorileri = ShowProduct::all();
$p1 = Product::where('category_id',$ana_sayfa_kategorileri[0]['category_id'] )
->take($ana_sayfa_kategorileri[0]['limit'])
->get();
$p2 = ....
$p3 = ....
return view('anasayfa',compact('p1','p2', 'p3'.....));
@foreach($ana_sayfa_kategorileri as $kategori)
{{ $kategori->name }}
@foreach($kategori->products() as $urun) // limit 3,4,5 vs.
{{ $urun->name }}
@endforeach
@endforeach