首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用Eloquent ORM获取特定的列值?

如何使用Eloquent ORM获取特定的列值?
EN

Stack Overflow用户
提问于 2021-10-08 11:59:20
回答 2查看 50关注 0票数 0

我有两个迁移表和两个模型

1)用户。2)订阅。

在订阅模型中,我编写了一个名为hasMany ()的方法,它具有订阅关系;在用户模型中,它将包含具有belongs()关系的订阅()方法。

在user表中,id充当主键,而在subscription表中,sub_id充当外键,例如,如果用户订阅了任何订阅,则用户id将存储在subscription表的sub_id中。

代码语言:javascript
复制
 $is_subscription=Subscription::where('sub_id',$user->id)->value('sub_id');

从上面的代码中我能够获得值,但现在我想要的是有没有更好的方法来编写基于模型的查询,请帮助我编写这个。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2021-10-09 03:12:30

根据你的描述,我相信这就是你所拥有的:

代码语言:javascript
复制
class User extends Model
{
    public function subscriptions()
    {
        return $this->hasMany(Subscription::class);
    }
}

class Subscription extends Model
{
    public function user()
    {
        return $this->belongsTo(User::class);
    }
}

因此,您希望检查用户是否有任何订阅。您可以执行以下操作之一:

代码语言:javascript
复制
$user->subscriptions()->exists();

// Or

$user->subscriptions->isNotEmpty();
票数 1
EN

Stack Overflow用户

发布于 2021-10-08 12:21:10

您可以使用pluck()方法:

代码语言:javascript
复制
$is_subscription=Subscription::where('sub_id',$user->id)->pluck('sub_id');

您可以使用Laravel Documentation找到有关可用于收集的方法的详细信息

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69495494

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档