Model class abstract

Inheritance
Implemented types

Constructors

Model.new()

Properties

attributes Map<String, dynamic>
getter/setter pair
bindings Map<String, dynamic>
finalinherited
conditions List<String>
finalinherited
conn ↔ DatabaseConnection
getter/setter pairinherited
connectionName String
getter/setter pairinherited
createdAt String
no setter
cteConfiguration → CteConfiguration
no setterinherited
cteCount int
no setterinherited
cteNames List<String>
no setterinherited
dbConnection → DatabaseConnection?
no setterinherited
defaultConnection String
no setter
deletedAt String
no setter
fillable List<String>
no setter
getTable String
no setter
guarded List<String>
no setter
hasCtes bool
no setterinherited
hashCode int
The hash code for this object.
no setterinherited
hidden List<String>
no setter
incrementing bool
no setter
joins List<String>
getter/setter pairinherited
keyType String
no setter
paramCounter int
no getterinherited
primaryKey String
no setter
query Model
no setter
runtimeType Type
A representation of the runtime type of the object.
no setterinherited
selectColumns List<String>
getter/setter pairinherited
softDeletes bool
no setter
tableName String
getter/setter pair
tablePrefix String
no setter
timestamps bool
no setter
unions List<String>
getter/setter pairinherited
updatedAt String
no setter

Methods

addSelect(List<String> columns) QueryBuilder
inherited
alerts() Stream<DatabaseAlert>
inherited
avg(String column) Future<num>
override
batchProcess({required int batchSize, required Future<void> processor(List<Map<String, dynamic>> batch, int batchNumber), List<String> columns = const ['*']}) Future<void>
inherited
belongsTo(String name, Model model, {String? foreignKey, String localKey = 'id'}) → void
belongsToMany(String name, Model model, {String? pivotTable, required dynamic parentPivotKey, required dynamic relatedPivotKey, dynamic parentLocalKey = 'id', dynamic relatedLocalKey = 'id'}) → void
build({String? aggregateFunction, String? aggregateColumn}) String
inherited
buildJoins() String
inherited
buildWhereClause() String
inherited
buildWithClause() String
inherited
bulkDelete({String? column, List? values, int batchSize = 1000}) Future<bool>
inherited
bulkDeleteWhere(List<Map<String, dynamic>> conditions, {int batchSize = 500}) Future<bool>
inherited
bulkInsert(List<Map<String, dynamic>> data, {ConflictAction conflictAction = ConflictAction.ignore, List<String>? conflictColumns, List<String>? updateColumns, int batchSize = 1000, bool returnIds = false}) Future<bool>
inherited
bulkUpdate(List<Map<String, dynamic>> updates, {required String matchColumn, List<String>? updateColumns, int batchSize = 500, Map<String, dynamic>? additionalValues}) Future<bool>
inherited
chunk(int chunk, void callback(List<Map<String, dynamic>> data)) Future<void>
override
chunkById(int chunk, void callback(List<Map<String, dynamic>> data), [String column = 'id']) Future<void>
override
chunkedProcess({required int chunkSize, required Future<List<Map<String, dynamic>>> processor(List<Map<String, dynamic>> chunk), String? destination, List<String> columns = const ['*']}) Future<void>
inherited
clearBulkOperations() → void
inherited
clearCtes() → void
inherited
clearWindowFunctions() → void
inherited
configureCte(CteConfiguration config) → void
inherited
connection([String? connection]) Model
count([String columns = '*']) Future<int>
override
create(Map<String, dynamic> values) Future<Map<String, dynamic>>
crossJoin(String table, [List bindings = const []]) QueryBuilder
inherited
cumeDist({String? partitionBy, String? orderBy, String? as}) QueryBuilder
inherited
cursor([int chunk = 1000]) Stream<Map<String, dynamic>>
inherited
decrement(String column, [int amount = 1, Map<String, dynamic> extra = const {}]) Future<bool>
inherited
delete() Future<bool>
override
denseRank({String? partitionBy, String? orderBy, String? as}) QueryBuilder
inherited
doesntExist() Future<bool>
override
each(void callback(Map<String, dynamic> q)) Future<void>
inherited
exists() Future<bool>
override
fill() Model
find(dynamic id, {String? byColumnName, List<String> columns = const ['*']}) Future<Map<String, dynamic>?>
override
findOrFail(dynamic id, {String? byColumnName, List<String> columns = const ['*']}) Future<Map<String, dynamic>?>
override
first([List<String> columns = const ['*']]) Future<Map<String, dynamic>?>
override
firstOrFail([List<String> columns = const []]) Future<Map<String, dynamic>?>
inherited
firstValue(String column, {String? partitionBy, String? orderBy, String? as}) QueryBuilder
inherited
firstWhere(String column, [String? operator = '=', dynamic value, List<String> columns = const ['*']]) Future<Map<String, dynamic>?>
override
formatValue(dynamic value) String
inherited
get([List<String> columns = const ['*']]) Future<List<Map<String, dynamic>>>
override
getAttribute(String key) → dynamic
getBindings() Map<String, dynamic>
inherited
getCacheStats() Map<String, dynamic>
inherited
getConnection() Future<DatabaseConnection>
inherited
getCteBindings() Map<String, dynamic>
inherited
getCteInfo() List<Map<String, dynamic>>
inherited
getKey() → dynamic
getPerformanceStats() Map<String, PerformanceStats>
inherited
groupBy(List<String> groups) QueryBuilder
inherited
hasAttribute(String key) bool
hasCte(String name) bool
inherited
hasMany(String name, Model model, {String? foreignKey, String localKey = 'id'}) → void
hasOne(String name, Model model, {String? foreignKey, String localKey = 'id'}) → void
having(String column, [String? operator, dynamic value, String boolean = 'and']) QueryBuilder
inherited
havingBetween(String column, List values, {String boolean = 'and', bool not = false}) QueryBuilder
inherited
include(String relation, [dynamic callback(Model qb)?]) Model
increment(String column, [int amount = 1, Map<String, dynamic> extra = const {}]) Future<bool>
inherited
incrementEach(Map<String, int> increments, [Map<String, dynamic> extra = const {}]) Future<bool>
inherited
inRandomOrder([dynamic seed]) QueryBuilder
inherited
insert(Map<String, dynamic> values) Future<bool>
override
insertGetId(Map<String, dynamic> values, [String? sequence]) Future
override
insertMany(List<Map<String, dynamic>> valuesList) Future<bool>
inherited
insertOrIgnore(Map<String, dynamic> values) Future<bool>
inherited
insertUsing(List<String> columns, QueryBuilder subQuery) Future<bool>
inherited
is_(Model? model) bool
join(String table, String firstColumn, [String? operator, String? secondColumn, String type = 'INNER', bool where = false]) QueryBuilder
inherited
joinSub(QueryBuilder subQuery, String as, String firstColumn, [String? operator, String? secondColumn, String type = 'inner']) QueryBuilder
inherited
lag(String column, {int offset = 1, dynamic defaultValue, String? partitionBy, String? orderBy, String? as}) QueryBuilder
inherited
lastValue(String column, {String? partitionBy, String? orderBy, String? as}) QueryBuilder
inherited
latest([String column = 'created_at']) QueryBuilder
inherited
lazy([int chunk = 100, String column = 'id']) Stream<Iterable<Map<String, dynamic>>>
inherited
lead(String column, {int offset = 1, dynamic defaultValue, String? partitionBy, String? orderBy, String? as}) QueryBuilder
inherited
leftJoin(String table, String firstColumn, [String? operator, String? secondColumn, bool where = false]) QueryBuilder
inherited
leftJoinSub(QueryBuilder subQuery, String as, String firstColumn, [String? operator, String? secondColumn]) QueryBuilder
inherited
limit(int value) QueryBuilder
inherited
max(String column) Future
override
merge(List<Map<String, dynamic>> sourceData, {required List<String> matchOn, ConflictAction whenMatched = ConflictAction.update, ConflictAction whenNotMatched = ConflictAction.ignore, ConflictAction? whenNotMatchedBySource, List<String>? updateColumns, List<String>? insertColumns, Map<String, dynamic>? additionalValues}) Future<bool>
inherited
min(String column) Future
override
morphedByMany(String name, Model model, {required String morphKey, required String morphType, required String type, required String pivotTable, required String relatedMorphKey, String localKey = 'id'}) → void
morphMany(String name, Model model, {required String morphKey, required String morphType, required String type, String localKey = 'id'}) → void
morphOne(String name, Model model, {required String morphKey, required String morphType, required String type, String localKey = 'id'}) → void
morphTo(String name, Model model, {required String morphKey, required String morphType, required String type, String localKey = 'id'}) → void
morphToMany(String name, Model model, {required String morphKey, required String morphType, required String type, required String pivotTable, required String relatedMorphKey, String localKey = 'id'}) → void
newInstance() Model
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
ntile(int buckets, {String? partitionBy, String? orderBy, String? as}) QueryBuilder
inherited
offset(int value) QueryBuilder
inherited
orderBy(String column, [String direction = 'ASC']) QueryBuilder
inherited
orderByAsc(String column) QueryBuilder
inherited
orderByDesc(String column) QueryBuilder
inherited
orWhere(dynamic condition, [String operator = '=', dynamic value, String boolean = 'and']) QueryBuilder
inherited
orWhereBetween(String column, List values, {bool not = false}) QueryBuilder
inherited
orWhereColumn(String first, String operator, String secondColumn) QueryBuilder
inherited
orWhereDate(String column, String operator, dynamic value) QueryBuilder
inherited
orWhereDay(String column, String operator, dynamic value) QueryBuilder
inherited
orWhereDoesntHave(String relation, QueryCallback callback) QueryBuilder
inherited
orWhereExists(QueryCallback callback, {bool not = false}) QueryBuilder
inherited
orWhereFullText(dynamic columns, dynamic query, [Map<String, dynamic> options = const {}]) QueryBuilder
inherited
orWhereHas(String relation, QueryCallback callback) QueryBuilder
inherited
orWhereHour(String column, String operator, dynamic value) QueryBuilder
inherited
orWhereIn(String column, List values, {bool not = false}) QueryBuilder
inherited
orWhereJsonContains(String column, dynamic value, {bool not = false}) QueryBuilder
inherited
orWhereJsonDoesntContain(String column, dynamic value) QueryBuilder
inherited
orWhereJsonLength(String column, String operator, dynamic value) QueryBuilder
inherited
orWhereLike(String column, dynamic value, {bool caseSensitive = false}) QueryBuilder
inherited
orWhereMonth(String column, String operator, dynamic value) QueryBuilder
inherited
orWhereNotBetween(String column, List values) QueryBuilder
inherited
orWhereNotExists(QueryCallback callback) QueryBuilder
inherited
orWhereNotIn(String column, dynamic values) QueryBuilder
inherited
orWhereNotLike(String column, dynamic value, {bool caseSensitive = false, String boolean = 'and'}) QueryBuilder
inherited
orWhereNotNull(String column) QueryBuilder
inherited
orWhereNull(String column) QueryBuilder
inherited
orWhereRaw(String sql, [List rawBindings = const []]) QueryBuilder
inherited
orWhereRowValues(List<String> columns, String operator, List values) QueryBuilder
inherited
orWhereTime(String column, String operator, dynamic value) QueryBuilder
inherited
orWhereYear(String column, String operator, dynamic value) QueryBuilder
inherited
paginate({int perPage = 15, List<String> columns = const ['*'], String? pageName, int? page}) Future<Map<String, dynamic>>
override
parallelBulkInsert(List<Map<String, dynamic>> data, {int parallelism = 2, int batchSize = 1000, ConflictAction conflictAction = ConflictAction.ignore, List<String>? conflictColumns}) Future<bool>
inherited
percentRank({String? partitionBy, String? orderBy, String? as}) QueryBuilder
inherited
pluck(String column, [String? key]) Future
override
rank({String? partitionBy, String? orderBy, String? as}) QueryBuilder
inherited
raw(String value) RawExpression
inherited
registerRelations() → void
Override this method to define model relationships This method is called automatically when include() is used
removeCte(String name) bool
inherited
reorder([String? column, String? direction]) QueryBuilder
inherited
rightJoin(String table, String firstColumn, [String? operator, String? secondColumn]) QueryBuilder
inherited
rowNumber({String? partitionBy, String? orderBy, String? as}) QueryBuilder
inherited
select([List<String> columns = const ['*']]) QueryBuilder
inherited
selectRaw(String query, [List bindings = const []]) QueryBuilder
inherited
selectSub(QueryBuilder subQuery, String as) QueryBuilder
inherited
setAttribute(String key, dynamic value) → void
simplePaginate([int perPage = 15, List<String> columns = const ['*'], String? pageName, int? page]) Future<Map<String, dynamic>>
override
skip(int value) QueryBuilder
inherited
sum(String column) Future<num>
override
table(String table, [String? as]) QueryBuilder
inherited
take(int value) QueryBuilder
inherited
toJson() Map<String, dynamic>
toRawSql() String
inherited
toSql() String
inherited
toString() String
A string representation of this object.
inherited
transaction(Future<bool> action(), [String? conditionName]) Future<bool>
inherited
transactionalBulkOperation(Future<bool> action()) Future<bool>
inherited
truncate({bool force = false}) Future<bool>
inherited
union(QueryBuilder query) QueryBuilder
inherited
unionAll(QueryBuilder query) QueryBuilder
inherited
update(Map<String, dynamic> values) Future<bool>
override
updateMany(List<Map<String, dynamic>> updates, String column) Future<bool>
override
updateOrInsert(Map<String, dynamic> search, Map<String, dynamic> update) Future<bool>
override
upsert(Map<String, dynamic> values, List<String> uniqueBy, [Map<String, dynamic>? update]) Future<bool>
override
validateAllCtes() → void
inherited
value(String column) Future
override
where(dynamic condition, [String operator = '=', dynamic value, String boolean = 'and']) QueryBuilder
inherited
whereAfterToday(String column, {String boolean = 'and'}) QueryBuilder
inherited
whereAll(String column, List values, {String boolean = 'and'}) QueryBuilder
inherited
whereAny(String column, List values, {String boolean = 'and'}) QueryBuilder
inherited
whereBeforeToday(String column, {String boolean = 'and'}) QueryBuilder
inherited
whereBetween(String column, List values, {String boolean = 'and', bool not = false}) QueryBuilder
inherited
whereBetweenColumns(String column, List<String> columns, {String boolean = 'and'}) QueryBuilder
inherited
whereColumn(String firstColumn, String operator, String secondColumn, [String boolean = 'and']) QueryBuilder
inherited
whereDate(String column, String operator, dynamic value, {String boolean = 'and'}) QueryBuilder
inherited
whereDay(String column, String operator, dynamic value, {String boolean = 'and'}) QueryBuilder
inherited
whereDoesntHave(String relation, QueryCallback callback, {String boolean = 'and'}) QueryBuilder
inherited
whereEqualTo(dynamic condition, [dynamic value, String boolean = 'and']) QueryBuilder
inherited
whereExists(QueryCallback callback, {String boolean = 'and', bool not = false}) QueryBuilder
inherited
whereFullText(dynamic columns, dynamic query, [Map<String, dynamic> options = const {}]) QueryBuilder
inherited
whereFuture(String column, {String boolean = 'and'}) QueryBuilder
inherited
whereGreaterThan(dynamic condition, [dynamic value, String boolean = 'and']) QueryBuilder
inherited
whereGreaterThanOrEqualTo(dynamic condition, [dynamic value, String boolean = 'and']) QueryBuilder
inherited
whereHas(String relation, QueryCallback callback, {String boolean = 'and'}) QueryBuilder
inherited
whereHour(String column, String operator, dynamic value, {String boolean = 'and'}) QueryBuilder
inherited
whereIn(String column, List values, {String boolean = 'and', bool not = false}) QueryBuilder
inherited
whereJsonContains(String column, dynamic value, {String boolean = 'and', bool not = false}) QueryBuilder
inherited
whereJsonDoesntContain(String column, dynamic value, {String boolean = 'and'}) QueryBuilder
inherited
whereJsonLength(String column, String operator, dynamic value, {String boolean = 'and'}) QueryBuilder
inherited
whereLessThan(dynamic condition, [dynamic value, String boolean = 'and']) QueryBuilder
inherited
whereLessThanOrEqualTo(dynamic condition, [dynamic value, String boolean = 'and']) QueryBuilder
inherited
whereLike(String column, dynamic value, {bool caseSensitive = false, String boolean = 'and'}) QueryBuilder
inherited
whereMonth(String column, String operator, dynamic value, {String boolean = 'and'}) QueryBuilder
inherited
whereNone(String column, List values, {String boolean = 'and'}) QueryBuilder
inherited
whereNotBetween(String column, List values, {String boolean = 'and'}) QueryBuilder
inherited
whereNotBetweenColumns(String column, List<String> columns, {String boolean = 'and'}) QueryBuilder
inherited
whereNotEqualTo(dynamic condition, [dynamic value, String boolean = 'and']) QueryBuilder
inherited
whereNotExists(QueryCallback callback, {String boolean = 'and'}) QueryBuilder
inherited
whereNotIn(String column, dynamic values, {String boolean = 'and'}) QueryBuilder
inherited
whereNotLike(String column, dynamic value, {bool caseSensitive = false, String boolean = 'and'}) QueryBuilder
inherited
whereNotNull(String column, {String boolean = 'and'}) QueryBuilder
inherited
whereNowOrFuture(String column, {String boolean = 'and'}) QueryBuilder
inherited
whereNowOrPast(String column, {String boolean = 'and'}) QueryBuilder
inherited
whereNull(String column, {String boolean = 'and', bool not = false}) QueryBuilder
inherited
wherePast(String column, {String boolean = 'and'}) QueryBuilder
inherited
whereRaw(String sql, [List rawBindings = const [], String boolean = 'and']) QueryBuilder
inherited
whereRowValues(List<String> columns, String operator, List values, {String boolean = 'and'}) QueryBuilder
inherited
whereTime(String column, String operator, dynamic value, {String boolean = 'and'}) QueryBuilder
inherited
whereToday(String column, {String boolean = 'and'}) QueryBuilder
inherited
whereTodayOrAfter(String column, {String boolean = 'and'}) QueryBuilder
inherited
whereTodayOrBefore(String column, {String boolean = 'and'}) QueryBuilder
inherited
whereYear(String column, String operator, dynamic value, {String boolean = 'and'}) QueryBuilder
inherited
windowAvg(String column, {String? partitionBy, String? orderBy, String? as}) QueryBuilder
inherited
windowCount(String column, {String? partitionBy, String? orderBy, String? as}) QueryBuilder
inherited
windowMax(String column, {String? partitionBy, String? orderBy, String? as}) QueryBuilder
inherited
windowMin(String column, {String? partitionBy, String? orderBy, String? as}) QueryBuilder
inherited
windowSum(String column, {String? partitionBy, String? orderBy, String? as}) QueryBuilder
inherited
withCte(String name, QueryBuilder subQuery, {List<String>? columns}) QueryBuilder
inherited
withMaterialized(String name, QueryBuilder subQuery, {List<String>? columns}) QueryBuilder
inherited
withMultiple(Map<String, QueryBuilder> ctes, {Map<String, List<String>>? columnsMap}) QueryBuilder
inherited
withNotMaterialized(String name, QueryBuilder subQuery, {List<String>? columns}) QueryBuilder
inherited
withRecursive(String name, QueryBuilder baseCase, QueryBuilder recursiveCase, {List<String>? columns}) QueryBuilder
inherited
withSoftDeletes([String column = 'deleted_at']) QueryBuilder
inherited

Operators

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