如何使用 Eloquent ORM 获取特定列的值?
How to get a particular column value by using Eloquent ORM?
我有两个迁移 tables 和两个模型
1)用户。
2)订阅。
在订阅模型中,我编写了一个名为 user() 的方法,它具有 hasMany
关系,在用户模型中,它将包含具有 belongs()
关系的 subscriptions() 方法。
在用户table中id充当主键,在订阅table中sub_id充当外键,例如,如果用户订阅了任何订阅,用户id将存储在订阅 table 的 sub_id 中,到目前为止它工作正常。
$is_subscription=Subscription::where('sub_id',$user->id)->value('sub_id');
从上面的代码我可以得到值,但现在我想要的是有没有更好的方法来编写基于模型的查询,请帮我写这个..
您可以使用pluck()
方法:
$is_subscription=Subscription::where('sub_id',$user->id)->pluck('sub_id');
您可以使用 Laravel Documentation
找到有关可用于收集的方法的详细信息
根据您的描述,我相信您的情况是这样的:
class User extends Model
{
public function subscriptions()
{
return $this->hasMany(Subscription::class);
}
}
class Subscription extends Model
{
public function user()
{
return $this->belongsTo(User::class);
}
}
所以您想检查用户是否有任何订阅。您可以执行以下操作之一:
$user->subscriptions()->exists();
// Or
$user->subscriptions->isNotEmpty();
我有两个迁移 tables 和两个模型
1)用户。 2)订阅。
在订阅模型中,我编写了一个名为 user() 的方法,它具有 hasMany
关系,在用户模型中,它将包含具有 belongs()
关系的 subscriptions() 方法。
在用户table中id充当主键,在订阅table中sub_id充当外键,例如,如果用户订阅了任何订阅,用户id将存储在订阅 table 的 sub_id 中,到目前为止它工作正常。
$is_subscription=Subscription::where('sub_id',$user->id)->value('sub_id');
从上面的代码我可以得到值,但现在我想要的是有没有更好的方法来编写基于模型的查询,请帮我写这个..
您可以使用pluck()
方法:
$is_subscription=Subscription::where('sub_id',$user->id)->pluck('sub_id');
您可以使用 Laravel Documentation
找到有关可用于收集的方法的详细信息根据您的描述,我相信您的情况是这样的:
class User extends Model
{
public function subscriptions()
{
return $this->hasMany(Subscription::class);
}
}
class Subscription extends Model
{
public function user()
{
return $this->belongsTo(User::class);
}
}
所以您想检查用户是否有任何订阅。您可以执行以下操作之一:
$user->subscriptions()->exists();
// Or
$user->subscriptions->isNotEmpty();