我目前有:
$lang = Session::get('applocale');
if ($lang) {
User::where('id', Auth::user()->id)->update(['language' => $lang]);
}
通过Auth有更好的方法吗?也许像Auth :: user() - > language = $ lang或者什么?
public function switchLang($lang)
{
if (array_key_exists($lang, Config::get('languages'))) {
Session::set('applocale', $lang);
if(Auth::check()) {
auth()->user()->update(['language' => $lang]);
}
}
return Redirect::back();
}
languages.php(config)
return [
'en' => 'English',
'cn' => '中文',
];
答案 0 :(得分:1)
而不是:
User::where('id', Auth::user()->id)->update(['language' => $lang]);
你可以使用:
auth()->user()->update(['language' => $lang]);
然而,在这两种情况下(您的代码和我的代码),您应该确保用户已被记录,否则您可能会在此处获得例外