Prisma orderBy в резольвере / запросе за пределами Playground - PullRequest
0 голосов
/ 09 июня 2018

Хорошо, так что я работаю с 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, я не могу понять, как это должно быть передано.

1 Ответ

0 голосов
/ 09 июня 2018

Хорошо, как обычно, как только мой вопрос был записан / озвучен, я придумал ответ.

Проблема не состояла в том, что я не смог обернуть значения перечисления из MyOrderByInputв кавычках в резольвере или назначении переменной pre Query проблема заключалась в том, что я пытался протестировать с title_ASC / title_DESC, которого не было в моем типе.

-1 для меня.

Урок здесь: убедитесь, что вы используете метод заказа, который на самом деле существует в вашей схеме Prisma.

...