首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何在StrapiJS中获取创建者和更新者字段?

在Strapi中,获取内容类型的创建者和更新者信息可以通过以下几种方式实现。Strapi提供了内置的用户权限管理系统,可以记录内容的创建者和更新者信息。

1. 使用 Strapi 内置的 created_byupdated_by 字段

Strapi自动为每个内容类型添加 created_byupdated_by 字段,这些字段记录了内容的创建者和更新者信息。你可以在API请求中包含这些字段来获取相关信息。

示例:获取内容类型的创建者和更新者信息

假设你有一个名为 article 的内容类型,你可以通过以下方式获取文章的创建者和更新者信息:

代码语言:javascript
复制
// 在你的控制器或服务中
const article = await strapi.services.article.findOne({ id: articleId }, ['created_by', 'updated_by']);

在这个示例中,我们使用 findOne 方法来获取特定文章,并通过第二个参数指定要包含的关联字段 created_byupdated_by

2. 在API响应中包含创建者和更新者信息

你可以通过修改内容类型的控制器或服务来在API响应中包含 created_byupdated_by 字段。

示例:修改控制器以包含创建者和更新者信息

  • 创建或编辑内容类型的控制器文件: 在 ./api/article/controllers/article.js 中创建或编辑控制器文件:

'use strict'; module.exports = { async find(ctx) { const articles = await strapi.services.article.find(ctx.query, ['created_by', 'updated_by']); return articles; }, async findOne(ctx) { const { id } = ctx.params; const article = await strapi.services.article.findOne({ id }, ['created_by', 'updated_by']); return article; }, };

  • 创建或编辑内容类型的服务文件: 在 ./api/article/services/article.js 中创建或编辑服务文件:

'use strict'; module.exports = { async find(params, populate) { return strapi.query('article').find(params, populate); }, async findOne(params, populate) { return strapi.query('article').findOne(params, populate); }, };

3. 自定义GraphQL查询

如果你使用的是GraphQL,你可以自定义GraphQL查询来包含 created_byupdated_by 字段。

示例:自定义GraphQL查询

  • 编辑GraphQL schema: 在 ./api/article/config/schema.graphql.js 中编辑GraphQL schema:

module.exports = { definition: ` type Article { id: ID! title: String! content: String! created_by: UsersPermissionsUser updated_by: UsersPermissionsUser } `, query: ` article(id: ID!): Article articles: [Article] `, resolver: { Query: { article: { resolver: 'application::article.article.findOne', }, articles: { resolver: 'application::article.article.find', }, }, }, };

  • 使用GraphQL查询获取数据

query { articles { id title content created_by { id username email } updated_by { id username email } } }

通过这种方式,你可以在GraphQL查询中包含 created_byupdated_by 字段,并获取相关信息。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

  • 伴鱼数据质量中心的设计与实现

    日常工作中,数据开发工程师开发上线完一个任务后并不是就可以高枕无忧了,时常会因为上游链路数据异常或者自身处理逻辑的 BUG 导致产出的数据结果不可信。而这个问题的发现可能会经历一个较长的周期(尤其是离线场景),往往是业务方通过上层数据报表发现数据异常后 push 数据方去定位问题(对于一个较冷的报表,这个周期可能会更长)。同时,由于数据加工链路较长需要借助数据的血缘关系逐个任务排查,也会导致问题的定位难度增大,严重影响开发人员的工作效率。更有甚者,如果数据问题没有被及时发现,可能导致业务方作出错误的决策。此类问题可统一归属为大数据领域数据质量的问题。本文将向大家介绍伴鱼基础架构数据团队在应对该类问题时推出的平台化产品 - 数据质量中心(Data Quality Center, DQC)的设计与实现。

    03
    领券