У меня чуть иначе. Я фильтрацию вынес из контроллера в отдельный класс QueryFilter, имена методов которого соответствуют ключам параметров. В них передается значение параметра и объект строителя запроса. Внутри к запросу добавляется where() и он же возвращается. И туда вписывать дефолтное значение вообще не ахти. Его нужно добавлять перед применением фильтра