【问题标题】:Multiple Table search query in Laravel 5.2Laravel 5.2 中的多表搜索查询
【发布时间】:2018-05-16 07:44:41
【问题描述】:

尝试从过滤器中的三个表中搜索患者记录...我已经编写了患者姓名和患者电话的代码,但是由于它们都在不同的表中,所以卡在了治疗区域和医生上。请帮助为这个过滤器写一个查询...

这是我的过滤器:

患者数据以及账单(医生和治疗区域):

患者模型:

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

}

【问题讨论】:

    标签: mysql model controller laravel-5.2 laravel-eloquent


    【解决方案1】:

    你可以使用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();
    

    【讨论】:

      猜你喜欢
      • 2017-03-04
      • 2017-05-15
      • 1970-01-01
      • 2016-12-15
      • 2014-10-25
      • 1970-01-01
      • 1970-01-01
      • 2013-06-19
      • 1970-01-01
      相关资源
      最近更新 更多