Я использую несколько отношений в обратной связи 4. У меня 4 модели.
- У пользователя есть много тележек, доступных по URL
users/user_id/carts
- В корзине много товаров. Отношение с именем
product
- Продукт имеет много акций и цен на продукты с именами
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. Что идет не так?
Заранее спасибо