Laravel Eloquent:涉及多个表的关系

时间:2020-10-29 19:59:03

标签: laravel eloquent

我正在研究Laravel项目。我正在使用Eloquent从数据库查询数据。

我有以下型号

Donation.php

OnMouse

User.php

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

Charity.php

class User extends Model
{
   public function charities()
   {
       return $this->belongsToMany(Charity::class);
   }
}

我正在对Donation模型类编写查询,并且正在尝试查询类似的内容。该查询只是抽象。

class Charity extends Model
{
   public function donators()
   {
       return $this->belongsToMany(User::class);
   }
}

正如您在whereHas中看到的那样,我在捐赠者的慈善机构上应用了where子句。有可能这样做吗?我该怎么办?

1 个答案:

答案 0 :(得分:1)

我希望这将是您的问题的答案。

Donation::whereHas('donator',function($query){
  $query->whereHas('charities',function($query){
     $query->whereIn('id',[1,2,3,4]);
  })
})->get();