У меня есть фильтр с тремя флажками, каждый из которых имеет значение «вопрос», «партнерство», «жалоба». но когда я выбираю две данные из флажка (ex.complaint & question), отправленного на контроллер, и использую функцию orWhere, данные являются ошибкой (все появляются). Что я делаю не так?
$data = BrandEnquiry::whereHas('brand', function($query) use ($post){
$query->where('id_brand', '=' , $post['id_brand']);
});
if(isset($post['question'])){
$data->where(function ($key) use ($post){
$key->orWhere('subject', 'LIKE', '%'.$post['question']);
});
}
if(isset($post['complaint'])){
$data->where(function($q)use($post){
$q->orWhere('subject', 'LIKE', '%'.$post['complaint']);
});
}
if(isset($post['partnership'])){
$data->where(function($q)use($post){
$q->orWhere('subject', 'LIKE', '%'.$post['partnership']);
});
}
$data = $data->orderBy('updated_at','desc')
->with('brandOutlet')
->with('user')
->get();
и HTML
<div class="row">
<div class="col-lg-8 chxBox">
<label>Subject:</label>
<div class="form-check">
<input class="form-check-input" type="checkbox" value="question" id="question" name="question">
<label class="form-check-label" for="defaultCheck1">
Question
</label>
</div>
<div class="form-check">
<input class="form-check-input" type="checkbox" value="complaint" id="complaint" name="complaint">
<label class="form-check-label" for="defaultCheck1">
Complaint
</label>
</div>
<div class="form-check">
<input class="form-check-input" type="checkbox" value="partnership" id="partnership" name="partnership" >
<label class="form-check-label" for="defaultCheck1">
Partnership
</label>
</div>
</div>
Спасибо за продвижение