Benim hatam

Parametre verilmez ise sadece dolu alanları, parametre verilirse parametre dolu mu değil mi onu dönderir şeklinde aklımda kalmış. Siz şöyle yapın:
// Sadece izin verilen ve dolu olan alanlar
$fields = array_filter($request->only(array_keys($whiteList)));
foreach($fields as $key => $value) {
$query->where($key, 'LIKE', "%{$value}%");
}
if($request->filled('baslama_tarihi ')) {
$query->where('baslama_tarihi','>=',$request->baslama_tarihi);
}
if ($request->filled('bitis_tarihi')) {
$query->where('bitis_tarihi','<=',$request->bitis_tarihi);
}