Laravel 5.5将数据库字段传递给app.blade.php

时间:2017-12-27 10:44:30

标签: laravel

我正在Laravel中构建一个应用程序。有一个表MeTags,其中包含字段(id,pageName,title,description,keywords)。我想在每个页面上显示标题,描述和关键字。为此我使用Laravel视图编辑器,以便我可以在每个页面上使用这些字段。

我创建了一个新的提供程序ViewComposerServiceProvider,并在boot()函数

中添加了我的代码
public function boot()
{        
    view()->composer('app', function($view) {
        $settings = DB::table('MeTags')->get();
        foreach ($settings as $setting) { 
            $view->with('title', $setting->title);
        }
    });
}

然后我在config / app.php

中添加了该提供程序
App\Providers\ViewComposerServiceProvider::class

当我在app.blade.php中调用此title变量时

<title>{{ $title }}</title>

我收到以下错误

  

未定义的变量:title(查看:C:\ wamp64 \ www \ myProject \ resources \ views \ layouts \ app.blade.php)(查看:C:\ wamp64 \ www \ myProject \ resources \ views \ layouts \ app .blade.php)

我错过了什么吗?

我是Laravel的新手,任何帮助都将受到赞赏。

感谢。

1 个答案:

答案 0 :(得分:0)

该视图不是app layouts.app

你的循环也只是一遍又一遍地设置相同的变量。

相关问题