Laravel:根据用户中的值设置区域设置 table
Laravel: SetLocale based on value in users table
版本:
- Laravel版本:5.4.*
- PHP版本:5.6.x
描述:
我在 users
table 中存储了一个语言环境变量。现在我想根据用户的语言环境变量更改应用程序的语言(当用户登录时)。
重现步骤:
我创建了一个新的 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);
}
但这不起作用。没有错误,没有不同的语言。任何人都可以帮助我吗?
对我来说,我用这个对我来说很好用。
Session::put('lang', Auth::user()->lang);
或完整路径
Session::put('lang', \Illuminate\Support\Facades\Auth::user()->lang);
我能够使用事件侦听器修复它。在这个 的帮助下,我设法根据用户 属性 设置会话变量。如果有人需要更多帮助,请告诉我!
版本:
- Laravel版本:5.4.*
- PHP版本:5.6.x
描述:
我在 users
table 中存储了一个语言环境变量。现在我想根据用户的语言环境变量更改应用程序的语言(当用户登录时)。
重现步骤:
我创建了一个新的 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);
}
但这不起作用。没有错误,没有不同的语言。任何人都可以帮助我吗?
对我来说,我用这个对我来说很好用。
Session::put('lang', Auth::user()->lang);
或完整路径
Session::put('lang', \Illuminate\Support\Facades\Auth::user()->lang);
我能够使用事件侦听器修复它。在这个