Constructors
-
QueryBuilder(QueryBuilderOptions? options, List<Block> blocks, {Future<List<List>> execFunc()?, Future<Map<String, Map<String?, dynamic>>?> firstAsMapFuncWithMeta()?, Future<List<Map<String, Map<String?, dynamic>>>> getAsMapFuncWithMeta()?, Future<List?> firstFunc()?, Future<Map<String, dynamic>?> firstAsMapFunc()?, Future<List<Map<String, dynamic>>> getAsMapFunc()?, Future<List<T>> fetchAllFunc<T>([T factory(Map<String, dynamic>)?])?, Future<T?> fetchSingleFunc<T>([T factory(Map<String?, dynamic>)?])?, Future putSingleFunc<T>(T entity)?, Future updateSingleFunc<T>(T entity, [QueryBuilder queryBuilder])?, Future deleteSingleFunc<T>(T entity, [QueryBuilder? queryBuilder])?, Future<int> countFunc()?})
-
Methods
-
buildReturningFields()
→ List<String?>
-
-
buildSubstitutionValues()
→ Map<String, dynamic>
-
-
count()
→ Future<int>
-
-
deleteSingle<T>(T entity, [QueryBuilder? queryBuilder])
→ Future
-
-
distinct()
→ QueryBuilder
-
-
exec()
→ Future<List<List>>
-
-
fetchAll<T>([T factory(Map<String, dynamic>)?])
→ Future<List<T>>
-
-
fetchSingle<T>([T factory(Map<String?, dynamic>)?])
→ Future<T?>
-
-
field(String field, {String? alias})
→ QueryBuilder
-
-
fieldRaw(String setFieldRawSql)
→ QueryBuilder
-
-
fields(Iterable<String> fields)
→ QueryBuilder
-
-
fieldSubQuery(QueryBuilder field, {String? alias})
→ QueryBuilder
-
-
first()
→ Future<List?>
-
-
firstAsMap()
→ Future<Map<String, dynamic>?>
-
-
firstAsMapWithMeta()
→ Future<Map<String, Map<String?, dynamic>>?>
-
Return row as maps containing table and column names
-
from(String? table, {String? alias})
→ QueryBuilder
-
-
fromQuery(Iterable<String> fields, QueryBuilder query)
→ QueryBuilder
-
-
fromRaw(String fromRawSqlString)
→ QueryBuilder
-
-
fromSubQuery(QueryBuilder table, {String? alias})
→ QueryBuilder
-
-
get()
→ Future<List<List?>?>
-
-
getAsMap()
→ Future<List<Map<String, dynamic>>>
-
-
getAsMapWithMeta()
→ Future<List<Map<String, Map<String?, dynamic>>>>
-
Return rows as maps containing table and column names
-
group(String field)
→ QueryBuilder
-
-
groupRaw(String groupRawSql)
→ QueryBuilder
-
-
groups(Iterable<String> fields)
→ QueryBuilder
-
-
innerJoin(String joinTableName, String field1, String operator, String field2, {String? alias})
→ QueryBuilder
-
-
into(String table)
→ QueryBuilder
-
-
isContainFromBlock()
→ bool
-
-
isQuery()
→ bool
-
-
join(String joinTableName, String condition, {String? alias, JoinType type = JoinType.INNER})
→ QueryBuilder
-
-
joinRaw(String sql)
→ QueryBuilder
-
-
joinWithExpression(String table, Expression condition, {String? alias, JoinType type = JoinType.INNER})
→ QueryBuilder
-
-
joinWithQueryExpr(QueryBuilder table, Expression condition, {String? alias, JoinType type = JoinType.INNER})
→ QueryBuilder
-
-
joinWithSubQuery(QueryBuilder table, String condition, {String? alias, JoinType type = JoinType.INNER})
→ QueryBuilder
-
-
leftJoin(String joinTableName, String field1, String operator, String field2, {String? alias})
→ QueryBuilder
-
-
limit(int value)
→ QueryBuilder
-
-
noSuchMethod(Invocation invocation)
→ dynamic
-
Invoked when a nonexistent method or property is accessed.
inherited
-
offset(int value)
→ QueryBuilder
-
-
order(String field, {SortOrder dir = SortOrder.ASC})
→ QueryBuilder
-
-
orWhereGroup(QueryBuilder function(QueryBuilder))
→ QueryBuilder
-
-
orWhereSafe(String field, String operator, dynamic value)
→ QueryBuilder
-
OR Where safe way against SQL injection
Example: orWhereSafe('"toAll"', '=', 'true');
-
putSingle<T>(T entity)
→ Future
-
-
rightJoin(String joinTableName, String field1, String operator, String field2, {String? alias})
→ QueryBuilder
-
-
set(String field, dynamic value)
→ QueryBuilder
-
-
setAll(Map<String, dynamic> fieldsAndValues)
→ QueryBuilder
-
-
table(String table, {String? alias})
→ QueryBuilder
-
-
toSql({bool isFirst = false, bool isCount = false})
→ String
-
isFirst used to add or replace limit 1 offset 0 in query string
-
toString()
→ String
-
A string representation of this object.
override
-
union(String table, UnionType unionType)
→ QueryBuilder
-
-
unionSubQuery(QueryBuilder table, UnionType unionType)
→ QueryBuilder
-
-
updateSingle<T>(T entity, [QueryBuilder? queryBuilder])
→ Future
-
-
where(String condition, [Object? param, String andOr = 'AND'])
→ QueryBuilder
-
WHERE
Not secure, this one is subject to SQL injection
Example: where('nome ilike ?', '%isaque%')
-
whereExpr(Expression condition, [Object? param, String andOr = 'AND'])
→ QueryBuilder
-
-
whereGroup(QueryBuilder function(QueryBuilder))
→ QueryBuilder
-
-
whereRaw(String whereRawSql, {String andOr = 'AND', Map<String, dynamic>? substitutionValues})
→ QueryBuilder
-
Example PostgreSQL: whereRaw('b.info ilike @info', andOr: 'AND', substitutionValues: {'info': "%Sant'Ana%"})
Example MySQL: whereRaw('b.info ilike ?', andOr: 'AND', substitutionValues: {'info': "%Sant'Ana%"})
Example:
whereRaw(
'LOWER(${db.putInQuotes(sField.field)}::text) like ${db.formatSubititutioValue(sField.field)}',
andOr: 'OR',
substitutionValues: {
'nome': '%${filtros.searchString}%',
});
-
whereSafe(String field, String operator, dynamic value)
→ QueryBuilder
-
AND Where safe way against SQL injection
Example: whereSafe('"toAll"', '=', 'true');