morphToMany<R extends KhademModel<R> > method
RelationDefinition<KhademModel>
morphToMany<R extends KhademModel<R> >({})
Define a polymorphic many-to-many relationship.
morphName is the base name used for the type column on the pivot table.
Implementation
RelationDefinition morphToMany<R extends KhademModel<R>>({
required String morphName,
required String pivotTable,
required String foreignPivotKey,
required String relatedPivotKey,
required String relatedTable,
required R Function() factory,
String parentKey = 'id',
String relatedKey = 'id',
Function(QueryBuilderInterface)? query,
}) {
return RelationDefinition<R>(
type: RelationType.morphToMany,
localKey: parentKey,
foreignKey: '',
relatedKey: relatedKey,
relatedTable: relatedTable,
factory: factory,
pivotTable: pivotTable,
foreignPivotKey: foreignPivotKey,
relatedPivotKey: relatedPivotKey,
morphTypeField: '${morphName}_type',
query: query,
);
}