如何在Strapi中创建记录时自动设置为已发布状态?
解决Strapi创建记录时自动设置为已发布状态的方法
默认情况下,使用strapi.entityService.create创建的记录会处于草稿状态,要实现创建时直接发布,有两种常用方案:
方案一:创建时直接设置发布时间
在创建记录的data中添加publishedAt字段并赋值当前时间,Strapi会自动将该记录标记为已发布状态:
for (let i = 0; i < arr.length; i++) { await strapi.entityService.create("api::gem.gem", { data: { ...arr[i], publishedAt: new Date() } }); }
方案二:创建后立即发布
先创建草稿记录,再调用publish接口将其发布,适合需要先完成数据校验再发布的场景:
for (let i = 0; i < arr.length; i++) { const record = await strapi.entityService.create("api::gem.gem", { data: arr[i] }); await strapi.entityService.publish("api::gem.gem", record.id); }
注意事项
如果你的集合未启用「草稿和发布」功能,创建的记录默认就是已发布状态,无需额外设置。可以在Strapi后台的内容类型编辑器中检查该配置。
内容的提问来源于stack exchange,提问作者Drashti Kheni
相关产品推荐
相关产品推荐

