loadRelationsMissing<T extends Model<T> > static method
Lazily loads relations on multiple models if not already loaded.
Only loads relations that aren't already loaded on each model.
Example:
final posts = await Post.query().get();
await Model.loadRelationsMissing(posts, ['author', 'tags']);
Implementation
static Future<void> loadRelationsMissing<T extends Model<T>>(
Iterable<T> models,
Iterable<String> relations,
) async {
for (final relation in relations) {
// Filter to models that don't have this relation loaded
final needsLoading = models
.where((m) => !(m as Model)._asRelations.relationLoaded(relation))
.toList();
if (needsLoading.isNotEmpty) {
await loadRelations(needsLoading, relation);
}
}
}