Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

518
Vistas
Strapi v4: no relational fields when populating

I'm trying to populate a specific relation, using the relation name (categories) in combination with the populate parameter but it doesn't populate the categories.

When I look at my schema, I see that the relational field is present in the attributes object. But I still only get the non-relational fields in my response.

I tried every combination mentioned on the Strapi documentation but none of them worked.

The find permission is also enabled for the content-types that are being populated which in this case is categories.

/api/products?populate=*
/api/products?populate[0]=categories
/api/products?populate[categories]=*

My Product schema

{
  "kind": "collectionType",
  "collectionName": "products",
  "info": {
    "singularName": "product",
    "pluralName": "products",
    "displayName": "Product",
    "description": ""
  },
  "options": {
    "draftAndPublish": true
  },
  "pluginOptions": {},
  "attributes": {
    "title": {
      "type": "string"
    },
    "images": {
      "type": "media",
      "multiple": true,
      "required": false,
      "allowedTypes": [
        "images"
      ]
    },
    "categories": {
      "type": "relation",
      "relation": "oneToMany",
      "target": "api::category.category"
    }
  }
}

System

  • Strapi version: 4.1.8
  • NPM version: 8.3.2
  • Node.js version: 16.13.2
  • Database: MySQL
about 4 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

you will have to populate inside your controller, as in Strapi documentation

Query Engine API: Populating

strapi.db.query('api::article.article').findMany({
 populate: true,
});

Entity Service API: Populating

const entries = await strapi.entityService.findMany('api::article.article', {
  populate: '*',
});

REST API: Population & Field Selection

const qs = require('qs');
const query = qs.stringify({
  fields: ['title', 'body'],
}, {
  encodeValuesOnly: true,
});

If you want to populate everything just use populate: '*'

If you want to populate a relation or more use populate: [relationOne, relationTwo]

about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda