QueryBuilder class

A simple SQL query builder for MySQL/PostgreSQL in Flint Dart.

Constructors

QueryBuilder({required String table})

Properties

hashCode int
The hash code for this object.
no setterinherited
relations List<String>
no setter
runtimeType Type
A representation of the runtime type of the object.
no setterinherited
table String
final

Methods

avg(String column) Future<double?>
AVG aggregate
count([String column = '*']) Future<int>
COUNT aggregate
delete() Future<void>
DELETE
first() Future<Map<String, dynamic>?>
Fetch first row
get() Future<List<Map<String, dynamic>>>
Fetch all rows
groupBy(String field) QueryBuilder
GROUP BY clause
insert(Map<String, dynamic> data, {String idColumn = 'id'}) Future<void>
INSERT
join(String table, String first, String operator, String second) QueryBuilder
JOIN clause
limit(int value) QueryBuilder
LIMIT clause
max(String column) Future
MAX aggregate
min(String column) Future
MIN aggregate
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
offset(int value) QueryBuilder
OFFSET clause
orderBy(String field, [String direction = 'ASC']) QueryBuilder
ORDER BY clause
orWhere(String field, String operator, dynamic value) QueryBuilder
OR WHERE clause
orWhereContains(String field, String value, {bool caseSensitive = false, bool escape = true}) QueryBuilder
Adds an OR condition that checks if field contains value.
orWhereEndsWith(String field, String value, {bool caseSensitive = false, bool escape = true}) QueryBuilder
Adds an OR condition that checks if field ends with value.
orWhereLike(String field, String pattern, {bool caseSensitive = false, bool escape = true}) QueryBuilder
Adds an OR LIKE condition to the query.
orWhereStartsWith(String field, String value, {bool caseSensitive = false, bool escape = true}) QueryBuilder
Adds an OR condition that checks if field starts with value.
paginate(int page, [int perPage = 15]) Future<Map<String, dynamic>>
Paginate results
select([List<String>? fields]) QueryBuilder
SELECT fields
sum(String column) Future<double?>
SUM aggregate
toString() String
A string representation of this object.
inherited
update(Map<String, dynamic> data) Future<void>
UPDATE
where(String field, String operator, dynamic value) QueryBuilder
WHERE clause
whereBetween(String field, dynamic start, dynamic end) QueryBuilder
Adds a WHERE condition that filters field between start and end.
whereContains(String field, String value, {bool caseSensitive = false, bool escape = true}) QueryBuilder
Adds a WHERE condition that checks if field contains value.
whereDate(String field, DateTime date) QueryBuilder
Adds a WHERE condition that filters field to match the given date.
whereEndsWith(String field, String value, {bool caseSensitive = false, bool escape = true}) QueryBuilder
Adds a WHERE condition that checks if field ends with value.
whereIn(String field, List values) QueryBuilder
WHERE IN clause
whereLike(String field, String pattern, {bool caseSensitive = false, bool escape = true}) QueryBuilder
Adds a LIKE condition to the query.
whereNotBetween(String field, dynamic start, dynamic end) QueryBuilder
Adds a WHERE condition that filters field NOT between start and end.
whereNotIn(String field, List values) QueryBuilder
WHERE NOT IN clause
whereNotLike(String field, String pattern, {bool caseSensitive = false, bool escape = true}) QueryBuilder
Adds a NOT LIKE condition to the query.
whereNotNull(String field) QueryBuilder
WHERE NOT NULL clause
whereNull(String field) QueryBuilder
WHERE NULL clause
whereStartsWith(String field, String value, {bool caseSensitive = false, bool escape = true}) QueryBuilder
Adds a WHERE condition that checks if field starts with value.
withRelations(List<String> relations) QueryBuilder

Operators

operator ==(Object other) bool
The equality operator.
inherited