尝试从过滤器中的三个表中搜索患者记录...我已经编写了患者姓名和患者电话的代码,但卡在治疗区域和医生处,因为它们位于不同的表中..请帮助为此过滤器编写查询...
这是我的过滤器:
患者数据以及账单(医生和治疗区域):
患者模型:
public function scopeQueryStringFilters( $query )
{
if(request()->has('patient_name'))
{
$query->where('name',request('patient_name'));
}
if(request()->has('patient_phone'))
{
$query->where('phone',request('patient_phone'));
}
}
最佳答案
您可以使用whereHas方法。
Patient::whereHas('billing', function($query){
$query->where('area_of_treatment_id', request('area_of_treatment_id'));
})
->get();
Patient::whereHas('billing.doctor', function($query){
$query->where('name', request('doctor'));
})
->get();
关于mysql - Laravel 5.2 中的多表搜索查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47606328/