Как запросить данные из страпи по отношению с помощью grqphql?

У меня в Strapi две таблицы: одна question, а другая question_option. У меня есть question_id в question_option таблице. Я хочу выбрать все вопросы с их опцией. Проблема в том, что в Strapi мы должны запрашивать из question_option, мы не можем сделать это из question. По каждому варианту, например, если у меня 30 вариантов, то 30 раз возникает вопрос. Итак, как я могу выбрать вопрос, который предлагает свои варианты?

query{
  questionOptions(filters: { question_id:{for : { contains: "owner" }}}){
  data{
     id
     attributes{
      option,
      score,
      status,
      question_id{
        data{
          id
          attributes{
            title
          }
        }
      }
    }  
  }
}

Результат такой:

{
"data": {
"questionOptions": {
  "data": [
    {
      "id": "44",
      "attributes": {
        "option": " 0-10",
        "score": "1",
        "status": "1",
        "question_id": {
          "data": {
            "id": "5",
            "attributes": {
              "title": "Client Base"
            }
          }
        }
      }
    },
    {
      "id": "45",
      "attributes": {
        "option": "11-50",
        "score": "1",
        "status": "1",
        "question_id": {
          "data": {
            "id": "5",
            "attributes": {
              "title": "Client Base"
            }
          }
        }
      }
    },
    {
      "id": "46",
      "attributes": {
        "option": "51-100",
        "score": "1",
        "status": "1",
        "question_id": {
          "data": {
            "id": "5",
            "attributes": {
              "title": "Client Base"
            }
          }
        }
      }
    },
    {
      "id": "47",
      "attributes": {
        "option": "101-200",
        "score": "1",
        "status": "1",
        "question_id": {
          "data": {
            "id": "5",
            "attributes": {
              "title": "Client Base"
            }
          }
        }
      }
    },
    {
      "id": "48",
      "attributes": {
        "option": "over 200",
        "score": "1",
        "status": "1",
        "question_id": {
          "data": {
            "id": "5",
            "attributes": {
              "title": "Client Base"
            }
          }
        }
      }
    },
    {
      "id": "49",
      "attributes": {
        "option": "Bohemian    ",
        "score": "1",
        "status": "1",
        "question_id": {
          "data": {
            "id": "6",
            "attributes": {
              "title": "Style Identity"
            }
          }
        }
      }
    },
    {
      "id": "50",
      "attributes": {
        "option": "Casual    ",
        "score": "1",
        "status": "1",
        "question_id": {
          "data": {
            "id": "6",
            "attributes": {
              "title": "Style Identity"
            }
          }
        }
      }
    },
    {
      "id": "51",
      "attributes": {
        "option": "Clean  ",
        "score": "1",
        "status": "1",
        "question_id": {
          "data": {
            "id": "6",
            "attributes": {
              "title": "Style Identity"
            }
          }
        }
      }
    },
    {
      "id": "52",
      "attributes": {
        "option": "Classic  ",
        "score": "1",
        "status": "1",
        "question_id": {
          "data": {
            "id": "6",
            "attributes": {
              "title": "Style Identity"
            }
          }
        }
      }
    },
    {
      "id": "53",
      "attributes": {
        "option": "Colorful    ",
        "score": "1",
        "status": "1",
        "question_id": {
          "data": {
            "id": "6",
            "attributes": {
              "title": "Style Identity"
            }
          }
        }
      }
    }
  ]
}
}
}

Как видите, это принесло мне вопрос для каждого варианта.

3 метода стилизации элементов HTML
3 метода стилизации элементов HTML
Когда дело доходит до применения какого-либо стиля к нашему HTML, существует три подхода: встроенный, внутренний и внешний. Предпочтительным обычно...
Формы c голосовым вводом в React с помощью Speechly
Формы c голосовым вводом в React с помощью Speechly
Пытались ли вы когда-нибудь заполнить веб-форму в области электронной коммерции, которая требует много кликов и выбора? Вас попросят заполнить дату,...
Стилизация и валидация html-формы без использования JavaScript (только HTML/CSS)
Стилизация и валидация html-формы без использования JavaScript (только HTML/CSS)
Будучи разработчиком веб-приложений, легко впасть в заблуждение, считая, что приложение без JavaScript не имеет права на жизнь. Нам становится удобно...
Flatpickr: простой модуль календаря для вашего приложения на React
Flatpickr: простой модуль календаря для вашего приложения на React
Если вы ищете пакет для быстрой интеграции календаря с выбором даты в ваше приложения, то библиотека Flatpickr отлично справится с этой задачей....
В чем разница между Promise и Observable?
В чем разница между Promise и Observable?
Разберитесь в этом вопросе, и вы значительно повысите уровень своей компетенции.
Что такое cURL в PHP? Встроенные функции и пример GET запроса
Что такое cURL в PHP? Встроенные функции и пример GET запроса
Клиент для URL-адресов, cURL, позволяет взаимодействовать с множеством различных серверов по множеству различных протоколов с синтаксисом URL.
0
0
38
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

По сути, вам нужно установить поле отношения между типами контента question и question_option. Не зная цели question_option, я не могу точно сказать, какие это должны быть отношения. Глядя на возвращаемые значения, я могу только предположить, что это должно быть question has many question_options. Вам придется подумать об этом самостоятельно и соответствующим образом установить поле отношения. После того, как он установлен и вы видите отношение question_option или question_options в вашем типе контента question, в зависимости от типа указанного вами отношения, вы можете запросить questions с их параметрами.

Другие вопросы по теме