我有一个包含列语言的表设置。我只想获取用户ID是特定用户ID的语言。我已经定义了名为settings的模型,这就是我获取用户id为给定用户ID的所有列的方式。
$uid = Auth::id();
echo Settings::where('user_id', '=', $uid)->first();
如何指定我只想要在eloquent中返回的语言列的值?
我想使用我存储的语言切换语言,如
if (!\Session::has('locale')) {
\Session::put('locale', $language);
} else {
Session::put('locale', $language);
}
答案 0 :(得分:2)
您可以使用以下查询来获取专栏。
$settings = Settings::select(['language'])->where('user_id', '=', $uid)->first();
在下一步中,获取属性并设置为Session:
Session::put('locale', $settings->language);
您不需要此条件声明。新的Laravel版本支持此
$request->session()->put('locale', $settings->language);
答案 1 :(得分:0)
使用此,
$settings = Settings::select('language')->where('user_id', '=', $uid)->first();
然后,
Session::put('locale', $settings->language);
然后您可以使用会话变量'local'。 问候。