【问题标题】:Get Attribute from Elequent where clause从 Elequent where 子句获取属性
【发布时间】:2015-02-16 14:43:04
【问题描述】:

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

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

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

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

dd($tier->id);

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

【问题讨论】:

    标签: laravel eloquent laravel-5


    【解决方案1】:

    要获得实际模型,您应该使用first() 而不是get()。因为可能有多个行匹配 get() 将返回一个集合。

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

    如果你真的只需要 id,还有一个更简单的函数,pluck()

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

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

    【讨论】:

    • 解决了,谢谢。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-12-05
    • 2018-04-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多