【问题标题】:Laravel 5.5 Passing database fields to app.blade.phpLaravel 5.5 将数据库字段传递给 app.blade.php
【发布时间】:2017-12-27 10:44:30
【问题描述】:

我正在 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>

我收到以下错误

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

我错过了什么吗?

我是 Laravel 的新手,我们将不胜感激。

谢谢。

【问题讨论】:

    标签: laravel


    【解决方案1】:

    那个视图不是app 而是layouts.app

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-10-15
      • 2016-05-29
      • 2016-04-14
      • 1970-01-01
      相关资源
      最近更新 更多