Skip to content

Class: SolidHasManyRelation<Parent, Related, RelatedClass>

Defined in: packages/soukai-solid/src/models/relations/SolidHasManyRelation.ts:18

Extends

Extended by

Type Parameters

Parent

Parent extends SolidModel = SolidModel

Related extends SolidModel = SolidModel

RelatedClass

RelatedClass extends SolidModelConstructor<Related> = SolidModelConstructor<Related>

Implements

Constructors

Constructor

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

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

Parameters

parent

Parent

relatedClass

RelatedClass

foreignKeyName?

string

localKeyName?

string

Returns

SolidHasManyRelation<Parent, Related, RelatedClass>

Inherited from

SolidHasRelation.constructor

Properties

__modelsInOtherDocumentIds?

optional __modelsInOtherDocumentIds: string[]

Defined in: packages/soukai-solid/src/models/relations/mixins/SolidMultiModelDocumentRelation.ts:40

Inherited from

SolidMultiModelDocumentRelation.__modelsInOtherDocumentIds


__modelsInSameDocument?

optional __modelsInSameDocument: Related[]

Defined in: packages/soukai-solid/src/models/relations/mixins/SolidMultiModelDocumentRelation.ts:39

Inherited from

SolidMultiModelDocumentRelation.__modelsInSameDocument


__removedDocumentModels

__removedDocumentModels: Related[] = []

Defined in: packages/soukai-solid/src/models/relations/mixins/SolidMultiModelDocumentRelation.ts:38

Inherited from

SolidMultiModelDocumentRelation.__removedDocumentModels


protected optional _related: null | Related | Related[]

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

Implementation of

BeforeParentCreateRelation._related


deleteStrategy

deleteStrategy: RelationDeleteStrategy = null

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

Implementation of

BeforeParentCreateRelation.deleteStrategy


documentModelsLoaded

protected documentModelsLoaded: boolean = false

Defined in: packages/soukai-solid/src/models/relations/mixins/SolidDocumentRelation.ts:23

Inherited from

SolidMultiModelDocumentRelation.documentModelsLoaded


enabled

enabled: boolean = true

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

Implementation of

BeforeParentCreateRelation.enabled


foreignKeyName

foreignKeyName: string

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

Implementation of

BeforeParentCreateRelation.foreignKeyName


localKeyName

localKeyName: string

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

Implementation of

BeforeParentCreateRelation.localKeyName


name

name: string

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

Implementation of

BeforeParentCreateRelation.name


parent

parent: Parent

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

Implementation of

BeforeParentCreateRelation.parent


relatedClass

relatedClass: RelatedClass

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

Implementation of

BeforeParentCreateRelation.relatedClass


useSameDocument

useSameDocument: boolean = false

Defined in: packages/soukai-solid/src/models/relations/mixins/SolidDocumentRelation.ts:21

Inherited from

SolidMultiModelDocumentRelation.useSameDocument


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

__newModels

Get Signature

get __newModels(): Related[]

Defined in: packages/soukai-solid/src/models/relations/mixins/SolidMultiModelDocumentRelation.ts:55

Returns

Related[]

Set Signature

set __newModels(value): void

Defined in: packages/soukai-solid/src/models/relations/mixins/SolidMultiModelDocumentRelation.ts:59

Parameters
value

Related[]

Returns

void

Inherited from

SolidMultiModelDocumentRelation.__newModels


loaded

Get Signature

get loaded(): boolean

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

Returns

boolean

Implementation of

BeforeParentCreateRelation.loaded


protectedSolidHas

Get Signature

get protected protectedSolidHas(): ProtectedSolidHasRelation

Defined in: packages/soukai-solid/src/models/relations/mixins/SolidHasRelation.ts:28

Returns

ProtectedSolidHasRelation

Inherited from

SolidHasRelation.protectedSolidHas


protectedSolidMulti

Get Signature

get protected protectedSolidMulti(): ProtectedSolidMultiRelation

Defined in: packages/soukai-solid/src/models/relations/mixins/SolidMultiModelDocumentRelation.ts:43

Returns

ProtectedSolidMultiRelation

Inherited from

SolidMultiModelDocumentRelation.protectedSolidMulti


Get Signature

get related(): undefined | Related[]

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

Returns

undefined | Related[]

Set Signature

set related(related): void

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

Parameters

undefined | Related[]

Returns

void

Implementation of

BeforeParentCreateRelation.related

Methods

__afterParentSave()

__afterParentSave(): void

Defined in: packages/soukai-solid/src/models/relations/mixins/SolidMultiModelDocumentRelation.ts:169

Returns

void

Inherited from

SolidMultiModelDocumentRelation.__afterParentSave


__beforeParentCreate()

__beforeParentCreate(): void

Defined in: packages/soukai-solid/src/models/relations/SolidHasManyRelation.ts:68

Returns

void


__loadDocumentModels()

__loadDocumentModels(this, documentUrl, document): Promise<void>

Defined in: packages/soukai-solid/src/models/relations/mixins/SolidHasRelation.ts:32

Parameters

this

SolidHasRelationThis

documentUrl

string

document

JsonLDGraph

Returns

Promise<void>

Inherited from

SolidHasRelation.__loadDocumentModels


__synchronizeRelated()

__synchronizeRelated(other, models): Promise<void>

Defined in: packages/soukai-solid/src/models/relations/SolidHasManyRelation.ts:74

Parameters

other

this

models

WeakSet<SolidModel>

Returns

Promise<void>


addRelated()

addRelated(related): void

Defined in: packages/soukai/src/models/relations/MultiModelRelation.ts:63

Parameters

Related

Returns

void

Inherited from

SolidMultiModelDocumentRelation.addRelated


assertLoaded()

protected assertLoaded(method): this is { related: Related[] }

Defined in: packages/soukai/src/models/relations/MultiModelRelation.ts:90

Parameters

method

string

Returns

this is { related: Related[] }


attach()

Call Signature

attach(model?): Related

Defined in: packages/soukai/src/models/relations/MultiModelRelation.ts:36

Parameters
model?

Related

Returns

Related

Call Signature

attach(attributes): Related

Defined in: packages/soukai/src/models/relations/MultiModelRelation.ts:37

Parameters
attributes

Attributes

Returns

Related


clearForeignAttributes()

clearForeignAttributes(related): void

Defined in: packages/soukai/src/models/relations/HasManyRelation.ts:46

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-solid/src/models/relations/SolidHasManyRelation.ts:62

Parameters

options

Partial = {}

Returns

this


cloneSolidData()

protected cloneSolidData(clone): void

Defined in: packages/soukai-solid/src/models/relations/mixins/SolidMultiModelDocumentRelation.ts:173

Parameters

clone

SolidMultiModelDocumentRelationThis<Parent, Related, RelatedClass>

Returns

void

Inherited from

SolidMultiModelDocumentRelation.cloneSolidData


create()

create(attributes): Promise<Related>

Defined in: packages/soukai/src/models/relations/MultiModelRelation.ts:55

This method will create an instance of the related model and call the [[save]] method.

Parameters

attributes

Attributes = {}

Returns

Promise<Related>

Inherited from

SolidMultiModelDocumentRelation.create


detach()

detach(this, keyOrModel): void

Defined in: packages/soukai-solid/src/models/relations/mixins/SolidMultiModelDocumentRelation.ts:122

Parameters

this

SolidMultiModelDocumentRelationThis<Parent, Related, RelatedClass>

keyOrModel

string | Related

Returns

void

Inherited from

SolidMultiModelDocumentRelation.detach


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

Inherited from

SolidMultiModelDocumentRelation.isEmpty


isInverseOf()

isInverseOf(other): boolean

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

Parameters

other

Relation

Returns

boolean


isRelated()

isRelated(model): boolean

Defined in: packages/soukai/src/models/relations/MultiModelRelation.ts:81

Parameters

model

Related

Returns

boolean

Inherited from

SolidMultiModelDocumentRelation.isRelated


load()

load(): Promise<Related[]>

Defined in: packages/soukai-solid/src/models/relations/SolidHasManyRelation.ts:33

Returns

Promise<Related[]>


loadDocumentModels()

protected loadDocumentModels(this, modelsInSameDocument, modelsInOtherDocumentIds): void

Defined in: packages/soukai-solid/src/models/relations/mixins/SolidMultiModelDocumentRelation.ts:206

Parameters

this

SolidMultiModelDocumentRelationThis<Parent, Related, RelatedClass>

modelsInSameDocument

Related[]

modelsInOtherDocumentIds

string[]

Returns

void

Inherited from

SolidMultiModelDocumentRelation.loadDocumentModels


loadRelatedModels()

protected loadRelatedModels(documentIds): Promise<Related[]>

Defined in: packages/soukai-solid/src/models/relations/SolidHasManyRelation.ts:107

Parameters

documentIds

string[]

Returns

Promise<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/MultiModelRelation.ts:86

Parameters

oldValue

Nullable<Model[]>

newValue

Nullable<Model[]>

Returns

void


remove()

remove(this, keyOrModel): Promise<void>

Defined in: packages/soukai-solid/src/models/relations/mixins/SolidMultiModelDocumentRelation.ts:116

Parameters

this

SolidMultiModelDocumentRelationThis<Parent, Related, RelatedClass>

keyOrModel

string | Related

Returns

Promise<void>

Inherited from

SolidMultiModelDocumentRelation.remove


removeRelated()

removeRelated(related): void

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

Parameters

Related

Returns

void


reset()

reset(related): void

Defined in: packages/soukai-solid/src/models/relations/SolidHasManyRelation.ts:49

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.


save()

save(this, model): Promise<Related>

Defined in: packages/soukai-solid/src/models/relations/mixins/SolidMultiModelDocumentRelation.ts:101

This method will bind up all the relevant data (foreignKey, inverse relations, etc.) and save the model. If the parent model does not exist and both models will be stored in the same document, the model will be saved when the parent model is saved instead.

Parameters

this

SolidMultiModelDocumentRelationThis

model

Related

Related model instance to save.

Returns

Promise<Related>

Inherited from

SolidMultiModelDocumentRelation.save


setForeignAttributes()

setForeignAttributes(related): void

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

Parameters

Related

Returns

void


static()

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

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

Returns

RelationConstructor<SolidHasManyRelation<Parent, Related, RelatedClass>>


unload()

unload(): void

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

Returns

void


usingSameDocument()

usingSameDocument(useSameDocument): this

Defined in: packages/soukai-solid/src/models/relations/mixins/SolidDocumentRelation.ts:25

Parameters

useSameDocument

boolean = true

Returns

this

Inherited from

SolidMultiModelDocumentRelation.usingSameDocument