У меня есть две таблицы отношений многие ко многим между ними, эта связь хранится в таблицах ptivot:
- cpts
- provider
- provider_cpts
Я хочу искать в cpts с ключевым словом в двух полях и искать поставщиков с одним ключевым словом, условия должны применяться к таблицам Боха, например, я хочу найти
операция на сердце
в cpts и
oklahoma
в провайдерах, поэтому я хочу получить все 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);