Хорошо, так что я работаю с Prisma уже пару недель, и добился значительных успехов, и мне нравится настройка / простота использования для реализации многих расширенных функций.
IЯ пытаюсь осуществить сортировку по полям таблицы.
У меня есть варианты (среди прочих полей) сортировки по term_ASC
и term_DESC
.
Примите следующее определение запроса: MyConnection(filter: String, order: MyOrderByInput, limit: Int, offset: Int): MyConnection!
Если я запускаю следующий код в GraphQL Playground, он работает нормально:
query myPaginatedResults {
myConnection(filter: "lorem", limit: 25, offset: 0, order: term_ASC) {
aggregate {
count
}
edges {
node {
id
term
}
}
}
}
Основная точка/question... Использование term_ASC / DESC работает на игровой площадке, но как мне передать это в моем JS?
Если я оберну его в кавычки "term_ASC", возникнут ошибки, и если этоне обернутый, то он (resolver / api) выдает ошибки о явно неопределенной переменной.
const myConnection = (parent, args, context, info) => {
const where = args.filter
? {
OR: [
{ term_contains: args.filter },
{ type_contains: args.filter },
{ id_in: args.filter },
],
} : {}
const order = args.order;
// const order = `title_ASC`;
const skip = args.offset ? args.offset : 0;
const limit = args.limit ? args.limit : 50;
// console.log(context.db.query);
const results = context.db.query.myDbConnection({
where,
orderBy: order,
first: limit,
skip: skip,
}, info);
return results;
}
Итак, часть, где я пытаюсь проверить, как передать эту переменную orderBy через переменную (жестко запрограммированная), закомментированный в этом примере) или перед тем, как перейти в распознаватель через мой args.order, я не могу понять, как это должно быть передано.