Skip to content

Abstract Class: Relation<Parent, Related, RelatedClass> ​

Defined in: packages/soukai/src/models/relations/Relation.ts:15

Extended by ​

Type Parameters ​

Parent ​

Parent extends Model = Model

Related extends Model = Model

RelatedClass ​

RelatedClass extends ModelConstructor<Related> = ModelConstructor<Related>

Constructors ​

Constructor ​

new Relation<Parent, Related, RelatedClass>(parent, relatedClass, foreignKeyName, localKeyName?): Relation<Parent, Related, RelatedClass>

Defined in: packages/soukai/src/models/relations/Relation.ts:32

Parameters ​

parent ​

Parent

relatedClass ​

RelatedClass

foreignKeyName ​

string

localKeyName? ​

string

Returns ​

Relation<Parent, Related, RelatedClass>

Properties ​

protected optional _related?: Related | Related[] | null

Defined in: packages/soukai/src/models/relations/Relation.ts:30


deleteStrategy ​

deleteStrategy: RelationDeleteStrategy = null

Defined in: packages/soukai/src/models/relations/Relation.ts:29


enabled ​

enabled: boolean = true

Defined in: packages/soukai/src/models/relations/Relation.ts:28


foreignKeyName ​

foreignKeyName: string

Defined in: packages/soukai/src/models/relations/Relation.ts:26


localKeyName ​

localKeyName: string

Defined in: packages/soukai/src/models/relations/Relation.ts:27


name ​

name: string

Defined in: packages/soukai/src/models/relations/Relation.ts:23


parent ​

parent: Parent

Defined in: packages/soukai/src/models/relations/Relation.ts:24


relatedClass ​

relatedClass: RelatedClass

Defined in: packages/soukai/src/models/relations/Relation.ts:25


inverseBelongsToRelationClasses ​

static inverseBelongsToRelationClasses: Constructor<Relation<Model, Model, ModelConstructor<Model>>>[] = []

Defined in: packages/soukai/src/models/relations/Relation.ts:21


inverseHasRelationClasses ​

static inverseHasRelationClasses: Constructor<Relation<Model, Model, ModelConstructor<Model>>>[] = []

Defined in: packages/soukai/src/models/relations/Relation.ts:20

Accessors ​

loaded ​

Get Signature ​

get loaded(): boolean

Defined in: packages/soukai/src/models/relations/Relation.ts:39

Returns ​

boolean


Get Signature ​

get related(): Nullable<Related | Related[]>

Defined in: packages/soukai/src/models/relations/Relation.ts:43

Returns ​

Nullable<Related | Related[]>

Set Signature ​

set related(related): void

Defined in: packages/soukai/src/models/relations/Relation.ts:47

Parameters ​

Nullable<Related | Related[]>

Returns ​

void

Methods ​

addRelated() ​

abstract addRelated(related): void

Defined in: packages/soukai/src/models/relations/Relation.ts:69

Parameters ​

Related

Returns ​

void


clearForeignAttributes() ​

abstract clearForeignAttributes(related): void

Defined in: packages/soukai/src/models/relations/Relation.ts:68

Parameters ​

Related

Returns ​

void


clearInverseRelations() ​

clearInverseRelations(model): void

Defined in: packages/soukai/src/models/relations/Relation.ts:145

Parameters ​

model ​

Related

Returns ​

void


clone() ​

clone(options?): this

Defined in: packages/soukai/src/models/relations/Relation.ts:106

Parameters ​

options? ​

RelationCloneOptions = {}

Returns ​

this


disable() ​

disable(): void

Defined in: packages/soukai/src/models/relations/Relation.ts:62

Returns ​

void


enable() ​

enable(): void

Defined in: packages/soukai/src/models/relations/Relation.ts:58

Returns ​

void


getLoadedModels() ​

getLoadedModels(): Related[]

Defined in: packages/soukai/src/models/relations/Relation.ts:92

Returns ​

Related[]


getModels() ​

getModels(): Promise<Related[]>

Defined in: packages/soukai/src/models/relations/Relation.ts:84

Returns ​

Promise<Related[]>


initializeInverseRelations() ​

initializeInverseRelations(model): void

Defined in: packages/soukai/src/models/relations/Relation.ts:132

Parameters ​

model ​

Related

Returns ​

void


isEmpty() ​

isEmpty(): boolean | null

Defined in: packages/soukai/src/models/relations/Relation.ts:80

Returns ​

boolean | null


isInverseOf() ​

isInverseOf(other): boolean

Defined in: packages/soukai/src/models/relations/Relation.ts:158

Parameters ​

other ​

Relation

Returns ​

boolean


isRelated() ​

abstract isRelated(model): boolean

Defined in: packages/soukai/src/models/relations/Relation.ts:71

Parameters ​

model ​

Related

Returns ​

boolean


load() ​

abstract load(): Promise<Related | Related[] | null>

Defined in: packages/soukai/src/models/relations/Relation.ts:66

Returns ​

Promise<Related | Related[] | null>


onDelete() ​

onDelete(strategy): this

Defined in: packages/soukai/src/models/relations/Relation.ts:100

Parameters ​

strategy ​

RelationDeleteStrategy

Returns ​

this


onRelatedUpdated() ​

protected onRelatedUpdated(oldValue, newValue): void

Defined in: packages/soukai/src/models/relations/Relation.ts:181

Parameters ​

oldValue ​

Nullable<Model | Model[]>

newValue ​

Nullable<Model | Model[]>

Returns ​

void


removeRelated() ​

abstract removeRelated(related): void

Defined in: packages/soukai/src/models/relations/Relation.ts:70

Parameters ​

Related

Returns ​

void


resolve() ​

resolve(): Promise<Related | Related[] | null>

Defined in: packages/soukai/src/models/relations/Relation.ts:76

Returns ​

Promise<Related | Related[] | null>

Deprecated ​

This method has been renamed to load.


setForeignAttributes() ​

abstract setForeignAttributes(related): void

Defined in: packages/soukai/src/models/relations/Relation.ts:67

Parameters ​

Related

Returns ​

void


static() ​

static(): RelationConstructor<Relation<Parent, Related, RelatedClass>>

Defined in: packages/soukai/src/models/relations/Relation.ts:54

Returns ​

RelationConstructor<Relation<Parent, Related, RelatedClass>>


unload() ​

unload(): void

Defined in: packages/soukai/src/models/relations/Relation.ts:96

Returns ​

void