Dependency injection 环回4模型相关逻辑和存储库访问

Dependency injection 环回4模型相关逻辑和存储库访问,dependency-injection,model,repository,logic,loopback4,Dependency Injection,Model,Repository,Logic,Loopback4,我正在使用Loopback 4,我有一个抽象模型,它有一些逻辑方法(我认为可以放在该模型中,比如getter、setter等等),其中一些需要对DB进行一些查询 我可以将这些存储库注入控制器或可实例化模型中,但是如何从抽象模型中访问这些存储库呢?我不能将它注入构造函数,因为它永远不会被实例化 是否可以仅为此目的创建“控制器”,而不公开API 谢谢大家! 编辑:似乎在模型中注入控制器也不起作用,它在运行npm start时崩溃: /node_modules/reflect metadata/ref

我正在使用Loopback 4,我有一个抽象模型,它有一些逻辑方法(我认为可以放在该模型中,比如getter、setter等等),其中一些需要对DB进行一些查询

我可以将这些存储库注入控制器或可实例化模型中,但是如何从抽象模型中访问这些存储库呢?我不能将它注入构造函数,因为它永远不会被实例化

是否可以仅为此目的创建“控制器”,而不公开API

谢谢大家!

编辑:似乎在模型中注入控制器也不起作用,它在运行npm start时崩溃:

/node_modules/reflect metadata/reflect.js:354 抛出新的TypeError()

类型错误: 在Object.getMetadata(/node_modules/reflect metadata/reflect.js:354:23)

位于NamespacedReflect.getMetadata(/node_modules/@loopback/metadata/src/reflect.ts:49:20)
位于Function.getClassMetadata(/node_modules/@loopback/metadata/src/inspector.ts:63:19)
在getJsonSchema(/node_modules/@loopback/repository json schema/src/build schema.ts:89:36)
在Object.getJsonSchemaRef(/node_modules/@loopback/repository json schema/src/build schema.ts:140:33)
在Object.getModelSchemaRef(/node_modules/@loopback/openapi-v3/src/controller-spec.ts:495:22)
反对。(/src/controllers/api-credential.controller.ts:38:40)
at模块编译(内部/modules/cjs/loader.js:959:30)
at Object.Module._extensions..js(internal/modules/cjs/loader.js:995:10)
在Module.load(内部/modules/cjs/loader.js:815:32)
at Function.Module._load(内部/modules/cjs/loader.js:727:14)
at Module.require(内部/modules/cjs/loader.js:852:19)
根据需要(internal/modules/cjs/helpers.js:74:18)
反对。(/src/controllers/index.ts:1:1)
at模块编译(内部/modules/cjs/loader.js:959:30)
at Object.Module._extensions..js(internal/modules/cjs/loader.js:995:10)

启动应用程序之前需要清理缓存

项目需要清理并重新安装软件包:

npm run clean
npm install

似乎我可以通过应用程序本身的实例化(app=newapplication())来执行此类查询。但是,既然我不是从src/index.ts导出它,如何导入它呢?
npm run clean
npm install