Return laravel 的 eloquent 中只有一列值

Return only one column value in laravel's eloquent

我有一个包含语言列的 table 设置。我只想获取用户 ID 是特定用户 ID 的语言。我已经定义了名为设置的模型,这就是我如何获取用户 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);
  }

您可以使用如下查询获取您的专栏。

$settings = Settings::select(['language'])->where('user_id', '=', $uid)->first();

下一步是获取您的属性并设置为会话:

Session::put('locale', $settings->language);

你不需要这个条件语句。 Laravel 的新版本支持这个

$request->session()->put('locale', $settings->language);

使用这个,

$settings = Settings::select('language')->where('user_id', '=', $uid)->first();

然后,

Session::put('locale', $settings->language);

然后你可以使用会话变量'local'。 问候。