where method
QueryBuilder
where(
- String field, {
- dynamic isEqualTo,
- dynamic isNotEqualTo,
- dynamic isGreaterThan,
- dynamic isGreaterThanOrEqualTo,
- dynamic isLessThan,
- dynamic isLessThanOrEqualTo,
- String? startsWith,
- String? endsWith,
- String? contains,
- dynamic arrayContains,
- List? arrayContainsAny,
- List? whereIn,
- List? whereNotIn,
- bool? isNull,
Adds a filter condition to the query
Implementation
QueryBuilder where(
String field, {
dynamic isEqualTo,
dynamic isNotEqualTo,
dynamic isGreaterThan,
dynamic isGreaterThanOrEqualTo,
dynamic isLessThan,
dynamic isLessThanOrEqualTo,
String? startsWith,
String? endsWith,
String? contains,
dynamic arrayContains,
List<dynamic>? arrayContainsAny,
List<dynamic>? whereIn,
List<dynamic>? whereNotIn,
bool? isNull,
}) {
// Add filter based on which parameter is provided
if (isEqualTo != null) {
_filters.add(QueryFilter(
field: field,
operator: QueryOperator.isEqualTo,
value: isEqualTo,
));
}
if (isNotEqualTo != null) {
_filters.add(QueryFilter(
field: field,
operator: QueryOperator.isNotEqualTo,
value: isNotEqualTo,
));
}
if (isGreaterThan != null) {
_filters.add(QueryFilter(
field: field,
operator: QueryOperator.isGreaterThan,
value: isGreaterThan,
));
}
if (isGreaterThanOrEqualTo != null) {
_filters.add(QueryFilter(
field: field,
operator: QueryOperator.isGreaterThanOrEqualTo,
value: isGreaterThanOrEqualTo,
));
}
if (isLessThan != null) {
_filters.add(QueryFilter(
field: field,
operator: QueryOperator.isLessThan,
value: isLessThan,
));
}
if (isLessThanOrEqualTo != null) {
_filters.add(QueryFilter(
field: field,
operator: QueryOperator.isLessThanOrEqualTo,
value: isLessThanOrEqualTo,
));
}
if (startsWith != null) {
_filters.add(QueryFilter(
field: field,
operator: QueryOperator.startsWith,
value: startsWith,
));
}
if (endsWith != null) {
_filters.add(QueryFilter(
field: field,
operator: QueryOperator.endsWith,
value: endsWith,
));
}
if (contains != null) {
_filters.add(QueryFilter(
field: field,
operator: QueryOperator.contains,
value: contains,
));
}
if (arrayContains != null) {
_filters.add(QueryFilter(
field: field,
operator: QueryOperator.arrayContains,
value: arrayContains,
));
}
if (arrayContainsAny != null) {
_filters.add(QueryFilter(
field: field,
operator: QueryOperator.arrayContainsAny,
value: arrayContainsAny,
));
}
if (whereIn != null) {
_filters.add(QueryFilter(
field: field,
operator: QueryOperator.whereIn,
value: whereIn,
));
}
if (whereNotIn != null) {
_filters.add(QueryFilter(
field: field,
operator: QueryOperator.whereNotIn,
value: whereNotIn,
));
}
if (isNull == true) {
_filters.add(QueryFilter(
field: field,
operator: QueryOperator.isNull,
value: null,
));
}
if (isNull == false) {
_filters.add(QueryFilter(
field: field,
operator: QueryOperator.isNotNull,
value: null,
));
}
return this;
}