Options
All
  • Public
  • Public/Protected
  • All
Menu

Class HasOneOrMany<T, T2, V>

Base class for 1:1 and 1:M relations.

Type parameters

Hierarchy

Index

Constructors

Protected constructor

  • new HasOneOrMany<T, T2, V>(parent: T, related: T2, foreignKeyOverride?: keyof T & string, localKeyOverride?: keyof T2 & string): HasOneOrMany<T, T2, V>

Properties

Protected Optional foreignKeyOverride

foreignKeyOverride: keyof T & string

Protected Optional localKeyOverride

localKeyOverride: keyof T2 & string

Protected parent

parent: T

Readonly related

related: T2

Accessors

foreignKey

  • get foreignKey(): string

localKey

  • get localKey(): string

parentValue

  • get parentValue(): any

qualifiedForeignKey

  • get qualifiedForeignKey(): string

qualifiedLocalKey

  • get qualifiedLocalKey(): string

relatedQuerySource

value

  • get value(): V

Methods

applyScope

buildEagerQuery

builder

fetch

Abstract get

  • get(): Promise<V>

getContainer

Abstract getValue

  • getValue(): V

Abstract isLoaded

  • isLoaded(): boolean

make

  • make<T>(target: any, ...parameters: any[]): T
  • Instantiate a new injectable using the container.

    Type parameters

    • T

    Parameters

    • target: any
    • Rest ...parameters: any[]

    Returns T

matchResults

query

setContainer

Abstract setValue

  • setValue(related: V): void

then

  • then(resolve: (result: V) => unknown, reject: (e: Error) => unknown): void
  • Makes the relation "thenable" so relation methods on models can be awaited to yield the result of the relation.

    example
    const rows = await myModelInstance.myHasManyRelation()  -- rows is a Collection
    

    Parameters

    • resolve: (result: V) => unknown
        • (result: V): unknown
        • Parameters

          • result: V

          Returns unknown

    • reject: (e: Error) => unknown
        • (e: Error): unknown
        • Parameters

          • e: Error

          Returns unknown

    Returns void

Extollo Logo

extollo (v. latin) - to lift up, to elevate

Extollo is a free & libre application framework in TypeScript.