mkeremcansev AppServiceProvider::boot() yöntemi içerisine ekleyin ya da kendi provider'ınızı oluşturup onun boot yöntemi içine de ekleyebilirsiniz. Yalnız bunu yaparken uygulamanın CLI dışında bunu yapacağını belirtmeniz gerekiyor. Yani şöyle:
if (!app()->runningInConsole()) {
view()->share('generalData', General::find(1));
view()->share('categoryData', Category::orderBy('id', 'asc')->get());
view()->share('productData', Product::orderBy('id', 'desc')->take(8)->get());
}
çünkü burada veritabanı işlemi yapıyorsunuz, uygulama sıfır iken henüz tablolar oluşmadığı için migrate yaparken burası da çalışacağından dolayı tablo yok diye hata alırsınız, migrate ya da diğer konsol işlemlerini yapamazsınız.
Ayrıca değişkenlerin yerel değişkenler ile karışmaması için ayırmanız lazım. Ben genellikle iki tane alt çizgi koyarım, bu değişkenin share ile global geldiğini anlamamı sağlıyor, şöyle yapıyorum:
if (!app()->runningInConsole()) {
view()->share('__generalData', General::find(1));
view()->share('__categoryData', Category::orderBy('id', 'asc')->get());
view()->share('__productData', Product::orderBy('id', 'desc')->take(8)->get());
}
{{ $__generalData->prop }}