从Eloquent where子句获取属性

时间:2015-02-16 14:43:05

标签: laravel eloquent laravel-5

所以我有以下where子句,我在我的层表中搜索名称“Gold”。

$tier = Tier::where(['name' => 'Gold'])->get(['id']);
dd($tier);

当我执行上述操作时,“id”列在属性内部,但是当我执行以下操作时,它会给我

  

未定义属性:Illuminate \ Database \ Eloquent \ Collection :: $ id

dd($tier->id);

我想要的只是获取名称为“Gold”的记录的ID。

1 个答案:

答案 0 :(得分:1)

要获得实际模型,您应使用first()代替get()。因为可能有多个匹配get()的行会返回一个集合。

$tier = Tier::where(['name' => 'Gold'])->first(['id']);
dd($tier->id);

如果你真的只需要id,那就更简单了,pluck()

它将从第一个结果中获取一个属性:

$id = Tier::where(['name' => 'Gold'])->pluck('id');