suchen

Heim  >  Fragen und Antworten  >  Hauptteil

Laravel fügt Variablen in das Problem der Layoutansicht ein

Mit Laravel 5.3 müssen wir einige Variablen in die gemeinsame Layoutansicht einfügen app.blade.php,

Der folgenden Code wurde in der boot()-Methode der AppServiceProvider.php-Datei hinzugefügt:

    public function boot()
    {
        view()->composer('layouts/app', function ($view) {
            $siteInfo=SiteInfo::all();
            dd($siteInfo);
            $view->with('siteName',$siteInfo->name)   // 这是line 22
                ->with('siteKeywords',$siteInfo->keywords)
                ->with('siteDescription',$siteInfo->description);
        });
    }

Der folgende Fehler tritt auf:

    ErrorException in AppServiceProvider.php line 22:
    Undefined property: Illuminate\Database\Eloquent\Collection::$name (View: D:\wnmp\www\laravel-5-3-dev\resources\views\pages\index.blade.php)

Die Position von Zeile 22 ist in AppServiceProvider.php kommentiert.

Das Ergebnis von

dd($siteInfo); ist so:

Können Sie nicht einen Pfeil verwenden, um den Wert des Attributs einer Menge zu ermitteln?

大家讲道理大家讲道理2822 Tage vor387

Antworte allen(2)Ich werde antworten

  • 天蓬老师

    天蓬老师2017-05-16 16:52:22

    $siteInfo这是一个二维的呀,你可以使用->Array转换成数组去取值

    Antwort
    0
  • 为情所困

    为情所困2017-05-16 16:52:22

    显然不对,假设你的siteinfo表设计如下
    id guid, name varchar(60), value varchar(60)
    对于网站key_word,你应该取name字段为keyword的记录的value字段的值

    所以你需要

    $siteinfo = SiteInfo::all();
    $siteinfo->where('name', 'key_word')->value;
    

    这样取值

    Antwort
    0
  • StornierenAntwort