Strapi CMS:获取嵌套内容

2023-11-21

我正在使用 Strapi CMS,并努力获取嵌套/深层内容的数据。 例如:假设我创建了以下内容类型并定义了关系。

人物:姓名、年龄

地址: 城市、国家

联系方式:代码、号码

一个人有一个地址

地址有很多联系人

现在的问题是,当我访问“/persons”时,我只得到姓名、年龄和地址对象。但地址对象没有与该地址关联的联系信息。

有人可以帮助我解决这个问题或向我指出任何此类文章吗?


首先,您需要一个自定义控制器功能。 在/api/person/controllers/Person.js您可以导出自定义查找功能。您可以在此处定义要填充的字段:

module.exports = {
  find: ctx => {
    return strapi.query('person').find(ctx.query, ['address', 'contact']);
  },
};

另一个解决方案也适用于我:

module.exports = {
  find: ctx => {
    return strapi.query('person').find(ctx.query, [
       { path: 'address' },
       { path: 'contact' },
    ]);
  },
};

编辑后的示例具有更深一层的填充:

module.exports = {
  find: ctx => {
    return strapi.query('person').find(ctx.query, [
      {
        path: 'address',
        populate: {
          path: 'contacts',
        },
      },
    ]);
  },
};

作为参考,请参阅最新的测试版文档:

https://strapi.io/documentation/3.0.0-beta.x/concepts/queries.html#api-reference

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Strapi CMS:获取嵌套内容 的相关文章

随机推荐