Я создаю проект с бэкэндом Strapi с GraphQL. Все идет гладко, кроме тех случаев, когда я хочу посчитать количество товаров для пагинации. Для подсчета я создал настраиваемую схему подсчета, которая выглядит следующим образом:
query: `
productsCount(where: JSON): Int!
`,
resolver: {
Query: {
productsCount: {
description: 'Return the count of products',
resolverOf: 'application::product.product.count',
resolver: async (obj, options, ctx) => {
strapi.api.product.services.product
.count(options.where || {})
.then()
.catch((err) => console.log(err));
return await strapi.api.product.services.product.count(options.where || {});
},
},
},
},
};
Она работает, как ожидалось, когда я запрашиваю where и передаю обычные вещи, такие как {title:"Foo"}
, на счетчик, но когда я передать в InputTypes, например, {"Foo":{title:"bar"}}
, он вылетает с сообщением:
"выберите отдельный счетчик (*) как" count "из" products "left join" dev "." publi c " . "Foo" как "foo_1" на "foo_1". "Id" = "products". "Foo", где "foo_1". "Id" = $ 1 - недопустимый синтаксис ввода для целого типа: "{" title ":" Bar "}" ",
Есть идеи, как исправить это, чтобы он работал с InputTypes?
Обратите внимание, что« Foo »является типом коллекции для продуктов и добавляется и все работает с обычным запросом для продуктов с InputTypes, подобным описанному выше.
Заранее спасибо!