我有一个存储在users
表中的语言环境变量。现在我想根据用户的语言环境变量更改应用程序的语言(当用户登录时)。
我创建了一个新的middleware
文件
public function handle($request, Closure $next)
{
App::setLocale(Session::has('lang') ? Session::get('lang') : Config::get('app.locale'));
return $next($request);
}
并在Kernel.php
在LoginController
我有:
protected function authenticated(Request $request, $user)
{
Session::put('lang', $user->lang);
}
但这不起作用。没有错误,没有不同的语言。有人可以帮我这个吗?
答案 0 :(得分:0)
对我来说,我使用这个对我来说很好。
Session::put('lang', Auth::user()->lang);
或使用完整路径
Session::put('lang', \Illuminate\Support\Facades\Auth::user()->lang);
答案 1 :(得分:0)
我能够使用Event侦听器修复它。在topic的帮助下,我设法根据用户的属性设置会话变量。如果有人需要更多帮助,请告诉我!