whereField<V> method
DatumQueryBuilder<T>
whereField<V>(
- DatumQueryField<
T, V> field, { - V? isEqualTo,
- V? isNotEqualTo,
- V? isGreaterThan,
- V? isGreaterThanOrEqualTo,
- V? isLessThan,
- V? isLessThanOrEqualTo,
- String? contains,
- String? containsIgnoreCase,
- String? startsWith,
- String? endsWith,
- List<
V> ? isIn, - List<
V> ? isNotIn, - V? arrayContains,
- List<
V> ? arrayContainsAny, - String? matches,
- List<
V> ? between,
Type-safe variant of where using a DatumQueryField descriptor.
The field must belong to entity T, and equality/ordering values must
match the field's value type V — both checked at compile time. String
operators (contains/startsWith/…) and matches remain String?
because they are only meaningful for string fields.
Implementation
DatumQueryBuilder<T> whereField<V>(
DatumQueryField<T, V> field, {
V? isEqualTo,
V? isNotEqualTo,
V? isGreaterThan,
V? isGreaterThanOrEqualTo,
V? isLessThan,
V? isLessThanOrEqualTo,
String? contains,
String? containsIgnoreCase,
String? startsWith,
String? endsWith,
List<V>? isIn,
List<V>? isNotIn,
V? arrayContains,
List<V>? arrayContainsAny,
String? matches,
List<V>? between,
}) {
return where(
field.name,
isEqualTo: isEqualTo,
isNotEqualTo: isNotEqualTo,
isGreaterThan: isGreaterThan,
isGreaterThanOrEqualTo: isGreaterThanOrEqualTo,
isLessThan: isLessThan,
isLessThanOrEqualTo: isLessThanOrEqualTo,
contains: contains,
containsIgnoreCase: containsIgnoreCase,
startsWith: startsWith,
endsWith: endsWith,
isIn: isIn,
isNotIn: isNotIn,
arrayContains: arrayContains,
arrayContainsAny: arrayContainsAny,
matches: matches,
between: between,
);
}