UNPKG

@dazejs/framework

Version:

Daze.js - A powerful web framework for Node.js

46 lines (40 loc) 1.15 kB
import { Builder } from '../../database/builder'; import { Application } from '../../../foundation/application'; import { Container } from '../../../container'; import { ModelBuilder } from '../builder'; import { Model } from '../model'; import { Repository } from '../repository'; export abstract class HasRelations { /** * application */ protected app: Application = Container.get('app'); /** * 父模型 */ protected parent: Model; /** * 当前关联模型 */ protected model: Model; /** * 外键 */ protected foreignKey: string; /** * 关联主键 */ protected localKey: string; /** * 渴求式加载单个模型关联数据 * @param result * @param relation */ abstract eagerly(result: Repository, relation: string, queryCallback?: (query: ModelBuilder<any> & Builder) => void): Promise<void> /** * 渴求式加载多个模型关联数据 * @param results * @param relation */ abstract eagerlyMap(results: Repository[], relation: string, queryCallback?: (query: ModelBuilder<any> & Builder) => void): Promise<void> }