@mleontenko What if you do this?
$query = ObrazacProcjeneVrste::where('znanstveno_ime', 'LIKE', "%{$znanstvenoIme}%");
if($skupina != 0) {
$query = $query->whereHas('skupine', function($q) use($skupina) {
$q->where('skupina_id', $skupina);
});
}
if($datumDo != null) {
$query = $query->where('created_at', '<=', $datumDo);
}
$query = $query->where('status', 'Prihvaćen')->whereNotIn('id', $id_eliminacija);
if($taksonomija != null) {
$query = $query->where('razred', 'LIKE', "%{$taksonomija}%")
->orWhere('podrazred', 'LIKE', "%{$taksonomija}%")
->orWhere('nadred', 'LIKE', "%{$taksonomija}%")
->orWhere('red', 'LIKE', "%{$taksonomija}%")
->orWhere('porodica', 'LIKE', "%{$taksonomija}%");
}
$obrasci = $query->orderBy('datum_azuriranja', 'desc')->paginate(50);