在Laravel

时间:2017-02-15 06:01:51

标签: php sql laravel-5 provider laravel-eloquent

我是Laravel的新手,并试图在所有视图共享的标题中创建内容变量,但问题在于获取在提供者(AppServiceProvider)类中使用null值支持的语言。

这是我的代码:

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);    
}

1 个答案:

答案 0 :(得分:0)

该代码段存在一些问题:

  • share()方法只接受两个参数,而不是重复键,值配对
  • language的值是Session::get("language", $locale)的结果,但实际放置的是字符串' \ Session :: get(" language",$ locale)'。

基于此,您需要重写如下

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