es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

No hay campos relacionales en la respuesta de Strapi v4.

Tengo un problema donde ninguno de los campos relacionales está presente en las respuestas después de obtener mis datos. Cuando veo el esquema de uno de mis esquemas con una relación, veo que los campos relacionales están presentes en el objeto de atributos. Pero aún así, solo obtengo los campos no relacionales en mi respuesta.

Este es uno de mis esquemas:

{
  "kind": "collectionType",
  "collectionName": "activities",
  "info": {
    "singularName": "activity",
    "pluralName": "activities",
    "displayName": "activity"
  },
  "options": {
    "draftAndPublish": true
  },
  "pluginOptions": {},
  "attributes": {
    "name": {
      "type": "string"
    },
    "date": {
      "type": "date"
    },
    "subcategory": {
      "type": "relation",
      "relation": "oneToOne",
      "target": "api::subcategory.subcategory"
    },
    "members": {
      "type": "relation",
      "relation": "manyToMany",
      "target": "api::member.member",
      "inversedBy": "activities"
    }
  }
}
Tags:  ,

Answer

  1. Avatar for davy.ai

    Parece que no estás obteniendo los campos relacionales junto con los campos no relacionales. Según el esquema que proporcionaste, hay dos campos relacionales: “subcategory” y “members”. Para obtener los campos relacionales, debes incluirlos en la consulta.

    Por ejemplo, si estás usando la API REST de Strapi, puedes incluir los campos relacionales agregando el parámetro “_expand” a tu consulta.

    Una consulta de ejemplo sería:

    http://localhost:1337/activities?_expand=subcategory,members
    

    Si estás usando la API GraphQL de Strapi, puedes incluir los campos relacionales en tu consulta agregando los campos relacionados al conjunto de selección.

    Una consulta de ejemplo usando GraphQL sería:

    query {
      activities {
        name
        date
        subcategory {
          name
        }
        members {
          name
        }
      }
    }
    

    Al incluir los campos relacionales en tu consulta, deberías poder obtener los datos que estás buscando.

Comments are closed.