所以我有以下where子句,我在我的层表中搜索名称“Gold”。
$tier = Tier::where(['name' => 'Gold'])->get(['id']);
dd($tier);
当我执行上述操作时,“id”列在属性内部,但是当我执行以下操作时,它会给我
未定义属性:Illuminate \ Database \ Eloquent \ Collection :: $ id
dd($tier->id);
我想要的只是获取名称为“Gold”的记录的ID。
答案 0 :(得分:1)
要获得实际模型,您应使用first()
代替get()
。因为可能有多个匹配get()
的行会返回一个集合。
$tier = Tier::where(['name' => 'Gold'])->first(['id']);
dd($tier->id);
如果你真的只需要id,那就更简单了,pluck()
。
它将从第一个结果中获取一个属性:
$id = Tier::where(['name' => 'Gold'])->pluck('id');