loadRelations function

Future<void> loadRelations(
  1. List<Model<Model>> parents,
  2. List<String> relations,
  3. String modelClassName,
  4. Map<String, RelationConfig>? relationConfigs,
)

Load relations for a list of parent models

Implementation

Future<void> loadRelations(
  List<Model> parents,
  List<String> relations,
  String modelClassName,
  Map<String, RelationConfig>? relationConfigs,
) async {
  if (parents.isEmpty || relations.isEmpty) return;

  for (final relation in relations) {
    final loaderKey = '$modelClassName.$relation';
    final loader = relationLoaders[loaderKey];

    if (loader == null) {
      throw Exception(
        "Relation '$relation' is not defined for $modelClassName. "
        "Make sure it's defined in the 'relations' getter.",
      );
    }

    final config = relationConfigs?[relation];
    await loader(parents, config);
  }
}