如何使用grqphql通过关系从strapi查询数据?



我的Strapi中有两个表,一个是question,另一个是question_option。在question_option表中有question_id。我想把所有的问题都选择出来。问题是,在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"
}
}
}
}
}
]
}
}
}

正如你所看到的,它给我带来了每个选项的问题。

基本上,您必须在questionquestion_option内容类型之间设置一个关系字段。不知道question_option的目的,我不能确切地说它应该是什么类型的关系。查看返回值,我只能假设它应该是question has many question_options。您必须自己考虑并相应地设置关系字段。设置好之后,您可以在question内容类型中看到question_optionquestion_options关系,这取决于您指定的关系的类型,您可以使用它们的选项查询questions

最新更新