Недавно команда loopback добавила поддержку включения вложенных отношений. Ссылка https://loopback.io/doc/en/lb4/HasMany-relation.html#query-multiple-relations. Но он не покрывает остальной URL-адрес API, чтобы получить вложенные отношения. Это то, что я пробовал.
У меня есть три модели пользователей, тележек, продуктов. У пользователей есть много тележек, а тележки принадлежат продукту. Моя версия loopback / cli - 1.27.0
user.repository.ts
constructor(
@inject('datasources.farm') dataSource: FarmDataSource, @repository.getter('CartRepository') protected cartRepositoryGetter: Getter<CartRepository>,
) {
super(Users, dataSource);
this.carts = this.createHasManyRepositoryFactoryFor('carts', cartRepositoryGetter,);
this.registerInclusionResolver('carts', this.carts.inclusionResolver);
}
cart.repository.ts
constructor(
@inject('datasources.farm') dataSource: FarmDataSource, @repository.getter('UsersRepository') protected usersRepositoryGetter: Getter<UsersRepository>, @repository.getter('ProductRepository') protected productRepositoryGetter: Getter<ProductRepository>,
) {
super(Cart, dataSource);
this.product = this.createBelongsToAccessorFor('product_id', productRepositoryGetter);
this.registerInclusionResolver('product', this.product.inclusionResolver);
this.users = this.createBelongsToAccessorFor('user_id', usersRepositoryGetter);
this.registerInclusionResolver('users', this.users.inclusionResolver);
}
}
product.repository.ts
constructor(
@inject('datasources.farm') dataSource: FarmDataSource, @repository.getter('PurchaseRepository') protected purchaseRepositoryGetter: Getter<PurchaseRepository>, @repository.getter('StockRepository') protected stockRepositoryGetter: Getter<StockRepository>, ) {
super(Product, dataSource);
this.registerInclusionResolver('stocks', this.stocks.inclusionResolver);
this.registerInclusionResolver('purchases', this.purchases.inclusionResolver);
}
заранее спасибо