我只想从options
我的数据库表中获取站点的标题和标语。
我尝试从中获取它,AppServiceProvider.php
但是当我删除所有表并运行时,它显示错误表不存在PHP artisan migrate
。
我也试过 Session 但最后,它带我到旧AppServiceProvider.php
方法。它工作正常,但当我们全新安装应用程序并运行迁移时就不行了!
这就是我的AppServiceProvider.php
看起来如何获得我想要做的想法。
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
才能迁移和播种!
你能用一个 try catch 吗?
try {
$site_title = Options::where('option_name','site_title')->first();
$site_options['site_title'] = $site_title->option_value;
} catch (\Exception $e) {
$site_options['site_title'] = 'Site Title';
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句