与所有视图共享数据

时间:2020-01-19 20:45:33

标签: php laravel

我正在尝试将项目从laravel 5.7更新到6.x

我有一个多语言网站,并且在页脚中有一个sleect框可以更改语言,所以问题是它给出了错误:

未定义变量:语言

我已经检查了文档,我真的不知道我缺少什么! https://laravel.com/docs/6.x/views

我的页脚:

    <select class='form-control' id="language_footer" name="language">
     foreach($language1 as $key => $value)
     <option value="{{$key}}" {{ (Session::get('language') == $key) ? 'selected' : '' }} > {{$value}}</option>
     @endforeach
    </select>

这是我的SetDataProvider

public function boot()
{
  if(env('DB_DATABASE') != '') {
    if(Schema::hasTable('language'))
    $this->language();  
  }
}

public function language()
{
    $language = Language::where('status', '=', 'Active')->pluck('name', 'short_name');
    View::share('language', $language);

    $default_language = Language::where('status', '=', 'Active')->where('default', '=', '1')->limit(1)->get();
    View::share('default_language', $default_language);
    if($default_language->count() > 0) {
        Session::put('language', $default_language[0]->value);
        App::setLocale($default_language[0]->value);
    }
}

在laravel 5.7中,我没有任何问题,并且似乎在laravel 6.x中工作,它显示了未定义的变量:语言

感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

所以我很蠢!

我忘记在app.conf中声明SetDataProvider

相关问题