Laravel 5.2 中的多个 Table 搜索查询
Multiple Table search query in Laravel 5.2
尝试从过滤器中的三个 table 中搜索患者记录...我已经编写了患者姓名和患者 phone 的代码,但卡在了治疗区域和医生,因为它们都在不同的table..请帮忙写一个查询这个过滤器...
这是我的过滤器:
患者数据以及账单(医生和治疗区域):
患者模型:
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();
尝试从过滤器中的三个 table 中搜索患者记录...我已经编写了患者姓名和患者 phone 的代码,但卡在了治疗区域和医生,因为它们都在不同的table..请帮忙写一个查询这个过滤器...
这是我的过滤器:
患者数据以及账单(医生和治疗区域):
患者模型:
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();