EntityRelation.manyToMany constructor
EntityRelation.manyToMany({})
Constructs an instance of many-to-many relation.
Example
import 'package:kind/kind.dart';
class Person extends Entity {
static final EntityKind<Person> kind = EntityKind<Person>(
name: 'Person',
define: (c) {
// ...
c.addList<Person>(
id: 2,
name: 'friends',
itemsKind: Person.kind,
field: (person) => person.friends,
relation: EntityRelation.manyToMany(
tableName: 'Friendship'
localPropName: 'from_friend_id',
foreignPropName: 'to_friend_id'),
),
);
// ...
},
);
// ...
late final ListField<Person> friends = ListField<Person>();
}
Implementation
factory EntityRelation.manyToMany({
String originName = 'id',
required String tableName,
required String localPropName,
required String foreignPropName,
String destinationName = 'id',
}) {
return EntityRelation(
localPropNames: [originName],
junctions: [
EntityJunction(
tableName: tableName,
localPropNames: [localPropName],
foreignPropNames: [foreignPropName],
),
],
foreignPropNames: [destinationName],
);
}