我只想從我的數據庫的options
表中獲取網站的標題和標語。
我試着從AppServiceProvider.php
中取出它,但是它顯示當我刪除所有表並運行PHP artisan migrate
時表不存在的錯誤。
我也嘗試過會話但最後,它帶我到舊的AppServiceProvider.php
方法。它工作正常,但不是當我們安裝應用程序的新鮮和運行遷移!
這就是我的AppServiceProvider.php
看起來像是想得到我想要做什麼。如何在Laravel中設置全局變量(無需考慮遷移)?
public function boot()
{
$site_options = array();
$site_title = Options::where('option_name','site_title')->first();
$site_options['site_title'] = $site_title?$site_title->option_value:'Site Title';
$site_tagline = Options::where('option_name','site_tagline')->first();
$site_options['site_tagline'] = $site_tagline?$site_tagline->option_value:'A Simple website!';
view()->share('site_options',$site_options);
}
我正在尋找Stackoverflow和遍地的答案,但我不知道該怎麼做。我也可以在所有控制器上創建構造函數並獲取數據,但是我必須將變量傳遞給每個視圖,這會使代碼看起來很糟糕!
這是什麼標準解決方案?
PS:播種當我把這段代碼添加到AppServiceProvider.php
或遷移工程中時不工作。我必須從AppServiceProvider.php
中刪除此代碼才能遷移並種子!
您必須遷移表和種子數據 –
是但含有'當我從'AppServiceProvider.php'獲取數據的php artisan'不起作用的任何命令。 –