Петлевые фильтры 4 не работают с несколькими отношениями - PullRequest
0 голосов
/ 13 февраля 2020

Я использую несколько отношений в обратной связи 4. У меня 4 модели.

  1. У пользователя есть много тележек, доступных по URL users/user_id/carts
  2. В корзине много товаров. Отношение с именем product
  3. Продукт имеет много акций и цен на продукты с именами stocks и productPrices соответственно.

Вот URL-адрес контроллера users/user_id/carts/prices, который выполняет несколько отношения, как показано ниже.

@get('/users/{id}/carts/prices', {
        responses: {
          '200': {
            description: 'Array of Cart\'s belonging to Users',
            content: {
              'application/json': {
                schema: { type: 'array', items: getModelSchemaRef(Cart) },
              },
            },
          },
        },
      })
      async Multiple_relation(
        @param.path.number('id') id: number,
        @param.query.object('filter') filter?: Filter<Cart>,
      ): Promise<Cart[]> {
        return this.usersRepository.carts(id).find({
          include: [{
            relation: 'product',
            scope: {
              include: [{ relation: 'productPrices' }, { relation: 'stocks' }],
            },

          },
          ],
        }, filter);
      }

Но я не могу выполнить фильтр для этого URL, как

users/29/carts/prices?filter[where][cart_id]=29

Приведенный выше запрос не фильтрует записи, где cart_id равен 29. Что идет не так?

Заранее спасибо

...