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);