whereOr function
Creates a filter for OR condition searches.
filters
: A list of lists of CoffeeQueryFilters. Each list represents a group of filters that
should be OR'd together.
Returns a CoffeeQueryFilter configured for OR condition searches.
Usage Example
var filter1 = where('name', WhereOperator.equal, 'Espresso');
var filter2 = where('age', WhereOperator.greater, 18);
var filter3 = whereContains('name', 'Latte');
var filter4 = whereNotIn('id', [4, 5, 6]);
var orFilter = whereOr([
[filter1, filter2],
[filter3, filter4]
]);
print('OR Filter: ${orFilter.expression}, Type: ${orFilter.type}');
Implementation
CoffeeQueryFilter whereOr(List<List<CoffeeQueryFilter>> filters) {
const operator = '@or@';
final expression = filters.map((filter) =>
filter.map((value) => value.expression.replaceAll(',', "@:@")).join('@:@')
).join(operator);
return CoffeeQueryFilter(
expression: expression,
type: 'filter',
);
}