Laravel 雄辩的查询未从何处返回预期结果

Laravel 雄辩的查询未从何处返回预期结果,laravel,eloquent,laravel-5.4,Laravel,Eloquent,Laravel 5.4,当前关系: clinic::whereHas('consultants.treatments', function ($query) use ($treatment_id) { $query->where('treatment_id', $treatment_id); }) ->paginate(10); 诊所有许多顾问 胃病治疗顾问(数据透视表关系) 诊所可能没有顾问,顾问也可能没有治疗。我只想返回那些有

当前关系:

clinic::whereHas('consultants.treatments', function ($query) use ($treatment_id) {
                $query->where('treatment_id', $treatment_id);
            })
        ->paginate(10);
  • 诊所有许多顾问
  • 胃病治疗顾问(数据透视表关系)
诊所可能没有顾问,顾问也可能没有治疗。我只想返回那些
顾问的诊所,
治疗,包括与
$treatment\u id
匹配的治疗(因此
生存检查)

当前尝试(返回0个结果):

clinic::whereHas('consultants.treatments', function ($query) use ($treatment_id) {
                $query->where('treatment_id', $treatment_id);
            })
        ->paginate(10);
我觉得我需要一个
whereHas
功能中的
whereHas
,以首先确定顾问是否进行了治疗,但是,如果这个逻辑是正确的,我如何在该功能中接近它

我希望返回3个结果,但目前为0


我怎样才能做到这一点?非常感谢。

因为它是多对多的,所以应该是:

Clinic::whereHas('consultants.treatments', function ($query) use ($treatment_id) {
        $query->where('id', $treatment_id);
    })
    ->paginate(10);

因为它是多对多的,所以应该是:

Clinic::whereHas('consultants.treatments', function ($query) use ($treatment_id) {
        $query->where('id', $treatment_id);
    })
    ->paginate(10);