queryFromDefinition<T extends OrmEntity> method

Query<T> queryFromDefinition<T extends OrmEntity>(
  1. ModelDefinition<T> definition, {
  2. String? table,
  3. String? schema,
  4. String? alias,
  5. List<String>? scopes,
})

Returns a Query for a given ModelDefinition.

This method allows for creating a query with an explicitly provided ModelDefinition, optionally overriding its table, schema, or alias.

definition is the model definition to use for the query. table is an optional table name override. schema is an optional schema name override. alias is an optional alias for the table.

Implementation

Query<T> queryFromDefinition<T extends OrmEntity>(
  ModelDefinition<T> definition, {
  String? table,
  String? schema,
  String? alias,
  List<String>? scopes,
}) {
  final overridden = (table == null && schema == null)
      ? definition
      : definition.copyWith(
          tableName: table ?? definition.tableName,
          schema: schema ?? definition.schema,
        );
  return Query(
    definition: overridden,
    context: this,
    tableAlias: alias,
    globalScopesApplied: false,
    ignoreAllGlobalScopes: true,
    adHocScopes: scopes ?? const [],
  );
}