QueryBuilder class
QueryBuilder class for building complex queries with operators and relationships
Constructors
Properties
- hashCode → int
-
The hash code for this object.
no setterinherited
- runtimeType → Type
-
A representation of the runtime type of the object.
no setterinherited
Methods
-
build(
) → String - Build the query string for URL parameters
-
clear(
) → void - Clear all query parameters
-
clone(
) → QueryBuilder - Clone the query builder
-
limit(
int value) → QueryBuilder - Set limit for pagination
-
multiFieldOr(
List< String> fields, dynamic value, {String? operator}) → QueryBuilder -
Multi-field OR search (same value across multiple fields)
Example: .multiFieldOr(
'name', 'email', 'john', operator: 'contains') Results in: name__or__email_contains=john -
noSuchMethod(
Invocation invocation) → dynamic -
Invoked when a nonexistent method or property is accessed.
inherited
-
offset(
int value) → QueryBuilder - Set offset for pagination
-
or(
String field, dynamic value) → QueryBuilder - Add a simple OR condition using or prefix Example: .or('age__gte', 18).or('role', 'admin') Results in: orage_gte=18&orrole=admin
-
orContains(
String field, String value) → QueryBuilder - Add an OR condition with contains operator
-
orderByAsc(
String field) → QueryBuilder - Sort in ascending order
-
orderByDesc(
String field) → QueryBuilder - Sort in descending order
-
orEndsWith(
String field, String value) → QueryBuilder - Add an OR condition with ends with operator
-
orGreaterThan(
String field, dynamic value) → QueryBuilder - Add an OR condition with operator Example: .orGreaterThan('age', 18) -> orage_gt=18
-
orGreaterThanOrEqual(
String field, dynamic value) → QueryBuilder - Add an OR condition with greater than or equal operator
-
orGroup(
String groupName, String field, dynamic value) → QueryBuilder -
Add a named OR group condition using
or:groupnameprefix Example: .orGroup('tier', 'isPremium', true).orGroup('tier', 'isVerified', true) Results in:or:tierisPremium=true&or:tierisVerified=true -
orIn(
String field, List values) → QueryBuilder - Add an OR condition with in operator
-
orIsNull(
String field, bool isNull) → QueryBuilder - Add an OR condition with is null operator
-
orLessThan(
String field, dynamic value) → QueryBuilder - Add an OR condition with less than operator
-
orLessThanOrEqual(
String field, dynamic value) → QueryBuilder - Add an OR condition with less than or equal operator
-
orNotEqual(
String field, dynamic value) → QueryBuilder - Add an OR condition with not equal operator
-
orNotIn(
String field, List values) → QueryBuilder - Add an OR condition with not in operator
-
orStartsWith(
String field, String value) → QueryBuilder - Add an OR condition with starts with operator
-
populate(
String field) → QueryBuilder - Populate a relationship field Supports nested relationships like 'author' or 'post.author'
-
populateAll(
List< String> fields) → QueryBuilder - Populate multiple relationship fields
-
searchInFields(
List< String> fields, String searchTerm) → QueryBuilder -
Convenience method for multi-field contains search
Example: .searchInFields(
'name', 'email', 'username', 'john') Results in: name__or__email__or__username_contains=john -
select(
String field) → QueryBuilder - Select specific fields to return
-
selectAll(
List< String> fields) → QueryBuilder - Select multiple fields to return
-
skip(
int value) → QueryBuilder - Skip documents (alias for offset)
-
sortBy(
String field, {String order = 'asc'}) → QueryBuilder - Sort by a field
-
take(
int value) → QueryBuilder - Take documents (alias for limit)
-
toString(
) → String -
A string representation of this object.
inherited
-
where(
String field, dynamic value) → QueryBuilder - Add an equality filter
-
whereAll(
Map< String, dynamic> filters) → QueryBuilder - Add multiple filters at once
-
whereContains(
String field, String value) → QueryBuilder - Contains text operator (case-insensitive substring match)
-
whereEndsWith(
String field, String value) → QueryBuilder - Ends with operator
-
whereGreaterThan(
String field, dynamic value) → QueryBuilder - Greater than operator
-
whereGreaterThanOrEqual(
String field, dynamic value) → QueryBuilder - Greater than or equal operator
-
whereIn(
String field, List values) → QueryBuilder - In array operator
-
whereIsNull(
String field, bool isNull) → QueryBuilder - Is null operator
-
whereLessThan(
String field, dynamic value) → QueryBuilder - Less than operator
-
whereLessThanOrEqual(
String field, dynamic value) → QueryBuilder - Less than or equal operator
-
whereNotEqual(
String field, dynamic value) → QueryBuilder - Not equal operator
-
whereNotIn(
String field, List values) → QueryBuilder - Not in array operator
-
whereStartsWith(
String field, String value) → QueryBuilder - Starts with operator
Operators
-
operator ==(
Object other) → bool -
The equality operator.
inherited