2017-02-15 2 views
0

Ich bin neu bei Laravel und versuchen, die Variable Inhalt in der Kopfzeile mit allen Ansichten geteilt, aber das Problem ist mit der Sprache, die mit mir mit Null-Wert bei der Unterstützung Provider (AppServiceProvider) Klasse.Gebietsschema-Sprache bei Provider-Klasse in Laravel

Hier ist mein Code:

public function boot() 
{ 
    // $language=App::setLocale($locale); 
    $locale = App::getLocale(); 
    \Session::put('language', 'en'); 
    \Config::get('app.locale'); 
    \Config::get('languages') ; 
    \Session::get('languages', 'en'); 
    $lang = Session::get ('locale'); 

    $products = ProductsTranslation::join('products', 'products.id', '=', 'products_translations.product_id')->where('language',$lang) ->get();       

    $postId = Post::get(); 
    view()->share('products', $products,'language',' \Session::get("language", $locale)','postId',$postId);  
} 
+0

Können Sie besser beschreiben Sie Ihr Problem umschreiben müssen? Was haben Sie erwartet? Und was hast du stattdessen gesehen? –

+0

Ich versuche, die Produktvariable in meiner Fußzeile zu verwenden (für jede Ansicht freigegeben). Wenn ich diese Abfrage verwendet: $ products = ProductsTranslation :: join ('Produkte', 'products.id', '=', 'products_translations.product_id') -> get(); Ich bekomme alle Produkte in beiden Sprachen, die ich benutzt habe. Ich brauche wo where ('language', $ lang) um nur die Sprache für die aktuelle lang zu bekommen, aber die $ lang Variable zurück mit null, auch nach der Verwendung der config \ Config :: get ('languages') ; –

+0

Haben Sie 'Sprachen' in Ihrer Konfiguration? –

Antwort

0

ein paar Probleme mit dem Snippet Es gibt:

  • Die share() Methode dauert nur zwei Argumente statt wiederholter Schlüssel, Wert-Paarungen
  • Der Wert bestimmt für language ist das Ergebnis von Session::get("language", $locale), aber was tatsächlich gesetzt wird, ist die Zeichenfolge '\ Session :: get ("Sprache", $ locale)'.

auf dieser Grundlage, würden Sie wie folgt

view()->share('products', $products); 
view()->share('language', Session::get('language', $locale)); 
view()->share('postId', $postId); 
Verwandte Themen