RelationInfo class
Information about a relation between models.
Constructors
-
RelationInfo({required String name, required RelationType type, required String targetModel, required String foreignKey, List<
String> references = const ['id'], String? joinTable, String? joinColumn, String? inverseJoinColumn, String? inverseRelation, bool isOwner = false}) -
const
- RelationInfo.manyToMany({required String name, required String targetModel, required String joinTable, required String joinColumn, required String inverseJoinColumn, String? inverseRelation, bool isOwner = false})
-
Create a many-to-many relation.
factory
-
RelationInfo.manyToOne({required String name, required String targetModel, required String foreignKey, List<
String> references = const ['id'], String? inverseRelation}) -
Create a many-to-one relation (this model belongs to target).
factory
-
RelationInfo.oneToMany({required String name, required String targetModel, required String foreignKey, List<
String> references = const ['id'], String? inverseRelation}) -
Create a one-to-many relation (this model has many of target).
factory
-
RelationInfo.oneToOne({required String name, required String targetModel, required String foreignKey, List<
String> references = const ['id'], String? inverseRelation, bool isOwner = false}) -
Create a one-to-one relation.
factory
Properties
- foreignKey → String
-
The foreign key field(s) on the relation side.
For oneToMany: FK is on the target model (e.g., 'author_id' on Post).
For manyToOne: FK is on this model (e.g., 'author_id' on Post).
final
- hashCode → int
-
The hash code for this object.
no setterinherited
- inverseJoinColumn → String?
-
For many-to-many: the column in join table referencing target model.
final
- inverseRelation → String?
-
The inverse relation name on the target model (if defined).
final
- isOwner → bool
-
Whether this is the "owner" side of the relation.
The owner side holds the foreign key or is the side specified in @relation.
final
- isToMany → bool
-
Whether this is a "to-many" relation.
no setter
- isToOne → bool
-
Whether this is a "to-one" relation.
no setter
- joinColumn → String?
-
For many-to-many: the column in join table referencing this model.
final
- joinTable → String?
-
For many-to-many: the join table name.
final
- name → String
-
The relation field name (e.g., 'posts', 'author').
final
-
references
→ List<
String> -
The field(s) that the foreign key references (usually the primary key).
final
- requiresJoin → bool
-
Whether this relation requires a JOIN to fetch.
no setter
- runtimeType → Type
-
A representation of the runtime type of the object.
no setterinherited
- targetModel → String
-
The target model name (e.g., 'Post', 'User').
final
- type → RelationType
-
The type of relation.
final
Methods
-
noSuchMethod(
Invocation invocation) → dynamic -
Invoked when a nonexistent method or property is accessed.
inherited
-
toString(
) → String -
A string representation of this object.
inherited
Operators
-
operator ==(
Object other) → bool -
The equality operator.
inherited