Skip to content

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

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

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:34

Parameters ​

parent ​

Parent

relatedClass ​

RelatedClass

foreignKeyName ​

string

localKeyName? ​

string

Returns ​

Relation<Parent, Related, RelatedClass>

Properties ​

protected optional _related: null | Related | Related[]

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


deleteStrategy ​

deleteStrategy: RelationDeleteStrategy = null

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


enabled ​

enabled: boolean = true

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


foreignKeyName ​

foreignKeyName: string

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


localKeyName ​

localKeyName: string

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


name ​

name: string

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


parent ​

parent: Parent

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


relatedClass ​

relatedClass: RelatedClass

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


inverseBelongsToRelationClasses ​

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

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


inverseHasRelationClasses ​

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

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

Accessors ​

loaded ​

Get Signature ​

get loaded(): boolean

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

Returns ​

boolean


Get Signature ​

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

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

Returns ​

Nullable<Related | Related[]>

Set Signature ​

set related(related): void

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

Parameters ​

Nullable<Related | Related[]>

Returns ​

void

Methods ​

addRelated() ​

abstract addRelated(related): void

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

Parameters ​

Related

Returns ​

void


clearForeignAttributes() ​

abstract clearForeignAttributes(related): void

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

Parameters ​

Related

Returns ​

void


clearInverseRelations() ​

clearInverseRelations(model): void

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

Parameters ​

model ​

Related

Returns ​

void


clone() ​

clone(options): this

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

Parameters ​

options ​

Partial = {}

Returns ​

this


disable() ​

disable(): void

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

Returns ​

void


enable() ​

enable(): void

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

Returns ​

void


getLoadedModels() ​

getLoadedModels(): Related[]

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

Returns ​

Related[]


getModels() ​

getModels(): Promise<Related[]>

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

Returns ​

Promise<Related[]>


initializeInverseRelations() ​

initializeInverseRelations(model): void

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

Parameters ​

model ​

Related

Returns ​

void


isEmpty() ​

isEmpty(): null | boolean

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

Returns ​

null | boolean


isInverseOf() ​

isInverseOf(other): boolean

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

Parameters ​

other ​

Relation

Returns ​

boolean


isRelated() ​

abstract isRelated(model): boolean

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

Parameters ​

model ​

Related

Returns ​

boolean


load() ​

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

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

Returns ​

Promise<null | Related | Related[]>


onDelete() ​

onDelete(strategy): this

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

Parameters ​

strategy ​

RelationDeleteStrategy

Returns ​

this


onRelatedUpdated() ​

protected onRelatedUpdated(oldValue, newValue): void

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

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:72

Parameters ​

Related

Returns ​

void


resolve() ​

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

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

Returns ​

Promise<null | Related | Related[]>

Deprecated ​

This method has been renamed to load.


setForeignAttributes() ​

abstract setForeignAttributes(related): void

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

Parameters ​

Related

Returns ​

void


static() ​

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

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

Returns ​

RelationConstructor<Relation<Parent, Related, RelatedClass>>


unload() ​

unload(): void

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

Returns ​

void