Laravel更新当前已登录用户的模型

时间:2016-01-09 16:50:34

标签: php laravel laravel-5

我目前有:

    $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' => '中文',
];

1 个答案:

答案 0 :(得分:1)

而不是:

User::where('id', Auth::user()->id)->update(['language' => $lang]);

你可以使用:

auth()->user()->update(['language' => $lang]);

然而,在这两种情况下(您的代码和我的代码),您应该确保用户已被记录,否则您可能会在此处获得例外

相关问题