Php Laravel关系在何处使用

Php Laravel关系在何处使用,php,laravel,eloquent,eloquent-relationship,Php,Laravel,Eloquent,Eloquent Relationship,此关系位于myMaintenance.php public function contactedContractor() { return $this->hasMany(ContactedContractor::class, 'maintenance_id'); } 我想在控制器中的查询中使用该关系 $contractor_maintenances = Maintenance::whereHas('contactedContractor', funct

此关系位于my
Maintenance.php

  public function contactedContractor()
    {
        return $this->hasMany(ContactedContractor::class, 'maintenance_id');
    }
我想在控制器中的查询中使用该关系

$contractor_maintenances = Maintenance::whereHas('contactedContractor', function ($query) {
                                                    return $query->where('contacted_contractors.user_id', '=', 8);
                                                })
                                                        ->where('contacted_contractors.user_id', $contractor_user_id)
                                                        ->latest('maintenances.created_at')
                                                        ->get();
但是where子句不起作用,给了我这个错误

where子句中的未知列“已联系承包商。用户id”


如何使用where子句?

您已在查询中传递<代码>维护没有用户id

->where('contacted_contractors.user_id', $contractor_user_id)
按如下方式传递您的查询

$contractor_maintenances = Maintenance::whereHas('contactedContractor', function ($query) use ($contractor_user_id) {
                                return $query->where('user_id', $contractor_user_id);
                            })->latest('maintenances.created_at')->get();