如何解决对数据透视表中具有关系和条件的表进行口才查询
我有各种具有这些关系的表,称为模型
客户
class Customers extends Model
{
public function claims()
{
return $this->hasMany(Claims::class);
}
}
索赔
class Claims extends Model
{
public function refunds()
{
return $this->hasMany(Refunds::class);
}
public function customers()
{
return $this->belongsTo(Customers::class,'customers_id');
}
}
退款
class Refunds extends Model
{
public function services()
{
return $this->belongsToMany(Services::class)
->withPivot(['services_id','services_amount','services_status']);
}
public function claims()
{
return $this->belongsTo(Claims::class,'claims_id');
}
}
服务
class Services extends Model
{
public function refunds()
{
return $this->belongsToMany(Refunds::class);
}
}
我需要执行一个查询,以返回来自客户的所有行,并在数据透视表上的行数为returns_services,其中每个客户行的services_id = 1。
我该怎么做?可能吗?或更好,我使用带有多个联接的查询生成器和sql
Thx
解决方法
您可以尝试:
Customers::select('cliente')
->addSelect([
'countRefundService' => Customers::withCount('claims.refunds.services',function($query) {
$query->where('id',1);
})->get();
])
->whereHas('claims.refunds.services',function ($query) {
$query->where('id',1);
} )
->get();
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。