Rotanizi tanımlarken blogs/{id}/edit şeklinde göndermek yerine, modelin ismini verirseniz, yani;
blogs/{blog}/edit şeklinde, o zaman Laravel doğrudan id yi tahmin edip find ile modeli getiriyor. Buna route model binding deniyor. (https://laravel.com/docs/8.x/routing#route-model-binding)
Bu sayede update işleminde örneğin,
public function update(Request $request, Blog $blog){
//
}
şeklinde belirttiğiniz için,
$blog->update([]);
Şeklinde güncelleme yapabilirsiniz.
Burada $blog degiskeninin veritabani tablosundaki bir satırı temsil ettiğini unutmayın.
O yüzden $menuler şeklinde bir kullanım doğru değil. Model isimleri tekil tutulur.
Tutarlılık açısından önerilen isimlendirmeler su şekilde;
Veritabaninda users
Model İsmi User
Controller tarafında UserController
Ya da blog yazıları için Blog Post tutacaksak;
Veritabaninda blog_posts
Model İsmi BlogPost
Controller tarafında BlogPostController
Ayrıca tabloyu hazırlarken ben mesela önce modelden başlıyorum. Bana daha rahat geliyor.
php artisan make:model BlogPost -m
şeklinde çalıştırsanız, hem BlogPost modelini oluşturuyor, hem de blog_posts_table şeklinde migration dosyasını hazırlıyor. Ya da isterseniz php artisan make:model BlogPost --all komutunu çalıştırabilirsiniz, bunu yapmanız halinde model, migration, factory, seeder ve controller dosyalarını hazırlar.