【发布时间】:2019-03-20 23:15:54
【问题描述】:
我有 2 个表之间的多对多关系,这个关系存储在一个 ptivot 表中
- cpts
- 供应商
- provider_cpts
我想在 cpts 中搜索两个字段中的关键字,并在提供者中搜索一个关键字条件必须适用于 boh 表,例如我想搜索
心脏手术
在cpts和
俄克拉荷马州
在提供者中,所以我想获取包含这些关键字的所有 cpts 以及与此 cpt 相关并包含 oklahoma 关键字的提供者的计数。 我正在使用 laravel 我试过这样做
Cpt::where('title', 'like','%' .$keyword.'%')
->OrWhere('description','like','%'.$keyword.'%')
->whereHas('providers',function($query) use($state){
if(!is_null($state)){
$query->where('providers.state','like','%'.$state.'%')->orderBy('state')->orderBy('city');
}
})
->with('providers','providers.oneCptPrice','prices')
->orderBy('id','DESC')->paginate(50);
【问题讨论】:
标签: php mysql laravel laravel-query-builder