【发布时间】:2020-11-16 16:11:51
【问题描述】:
我正在使用 NestJS 进行我的第一个项目,我有点困惑。
我有 2 个实体:Account 和 Transaction
我应该如何实现一种方法来更新 Account.balance 在 Transactions 中的更改(创建、更新、删除)
看起来我应该创建一个TransactionsSubscriber,但我似乎无法访问数据库连接。
订阅者被加载到ormconfig.json
我觉得我错过了一些明显的东西,但我已经被困在那里太久了。请有人帮帮我。
@EventSubscriber()
export class TransactionsSubscriber
implements EntitySubscriberInterface<TransactionEntity> {
constructor(
@InjectConnection('Account') readonly connection: Connection,
@InjectRepository(TransactionEntity) transactionsRepo: Repository<TransactionEntity>,
// @InjectEventEmitter() private emitter: AppEventEmitter,
@Inject(REQUEST) private readonly request,
) {
// connection.subscribers.push(this);
console.log(
typeof connection, // <=== ** here it returns me undefined **
typeof transactionsRepo // and here too
//, typeof emitter
);
}
/**
* Indicates that this subscriber only listen to TransactionEntity events.
*/
listenTo() {
return TransactionEntity;
}
afterInsert(event: InsertEvent<TransactionEntity>) {
console.log(`After Transaction INSERTED: `, event.entity);
}
}
【问题讨论】: