我想从数据库中的1条记录中获取一个值,但是有一个错误...
$gamer_name = Gamer::where('user_id', $gamer_id)->first()->name;
结果,我有这个...
试图获取非对象的属性
如果我从这样的请求中删除->name
$gamer_name = Gamer::where('user_id', $gamer_id)->first();
然后我得到App\Gamer Object
数据而不是名称。我不能只用Eloquent从单行中获取单个值。
答案 0 :(得分:1)
您可以为此目的使用pluck()
$gamer_name = Gamer::where('user_id', $gamer_id)->pluck('name');
答案 1 :(得分:0)
使用查询生成器而不是集合,但这应该可以:
NSLocationAlwaysUseUsageDescription
如果甚至不需要整行,则可以使用value方法从记录中提取单个值。此方法将直接返回列的值:
$gamer_name = DB::table("gamers")->where("user_id", $gamer_id)->value("name");
答案 2 :(得分:0)
此查询有多种解决方案,最简单的解决方案可能是
$gamer_name = Gamer::where('user_id', $gamer_id)->first()->select('name');
下一个
$gamer_name = Gamer::where('user_id', $gamer_id)->first()->value('name');