belongsTo<R extends KhademModel<R>> method

RelationDefinition<KhademModel> belongsTo<R extends KhademModel<R>>({
  1. required String relatedTable,
  2. required R factory(),
  3. required String foreignKey,
  4. String? ownerKey,
  5. dynamic query(
    1. QueryBuilderInterface
    )?,
})

Define an inverse one-to-one or many-to-one relationship.

foreignKey is the column on the current model. ownerKey is the column on the related model (default: id).

Implementation

RelationDefinition belongsTo<R extends KhademModel<R>>({
  required String relatedTable,
  required R Function() factory,
  required String foreignKey,
  String? ownerKey,
  Function(QueryBuilderInterface)? query,
}) {
  final resolvedOwnerKey = ownerKey ?? factory().primaryKey;
  return RelationDefinition<R>(
    type: RelationType.belongsTo,
    localKey: '', // Not used for belongsTo in new definition
    foreignKey: foreignKey,
    ownerKey: resolvedOwnerKey,
    relatedTable: relatedTable,
    factory: factory,
    query: query,
  );
}