Use conditional clauses
$courses = Course::with('level', 'campus')
->where('university_id', $university->id)
->when($request->search, function ($query, $search) {
return $query->where('name', 'LIKE', "%{$request->search}%");
})
->when($request->levels, function ($query, $levels) {
return $query->whereIn('levels', $levels);
})
->paginate(10);
https://laravel.com/docs/9.x/queries#conditional-clauses
And most likely you can use relationship to get courses by university.
$courses = $university->courses()
->with('level', 'campus')
->get();
*I skipped other where queries.