无法从数据库中获取单列值



我想从数据库中的 1 条记录中获取单个值,但出现错误...

$gamer_name = Gamer::where('user_id', $gamer_id)->first()->name;

结果,我有这个...

尝试获取非对象的属性

如果我像这样从请求中删除->name

$gamer_name = Gamer::where('user_id', $gamer_id)->first();

然后我得到AppGamer Object数据而不是名称。我不能只使用 Eloquent 从单行中获取单个值。

您可以使用pluck()来实现此目的

$gamer_name = Gamer::where('user_id', $gamer_id)->pluck('name');

文档 : https://laravel.com/docs/4.2/queries#selects

使用查询生成器而不是集合,但它应该可以工作:

$gamer_name = DB::table("gamers")->where("user_id", $gamer_id)->value("name");

从文档中:

如果甚至不需要整行,则可以使用 value 方法从记录中提取单个值。此方法将直接返回列的值:

$email = DB::table('users')->where('name', 'John')->value('email');

此查询有多种解决方案,最简单的可能是

$gamer_name = Gamer::where('user_id', $gamer_id)->first()->select('name');

下一个

$gamer_name = Gamer::where('user_id', $gamer_id)->first()->value('name');

最新更新