我是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);
}
答案 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);