权限提供方实例的 getWhere() 方法已移除

页面摘要: 在 Strapi 5 中,权限提供方实例的 getWhere() 方法已被移除;请改用带有自定义谓词的 provider.values().filter() 来查询并匹配提供方条目。

在 Strapi 5 中,权限提供方实例的 getWhere() 方法已被移除,用户应先获取提供方的值,再对其进行过滤。

本页面是破坏性变更数据库的一部分,提供有关该破坏性变更的信息,以及从 Strapi v4 迁移到 Strapi 5 的附加说明。

破坏性变更说明

在 Strapi v4 中

提供方实例(action provider、condition provider 等)是使用提供方工厂构建的。

这些提供方有一个 getWhere 方法,允许你查询匹配特定条件的提供方条目并返回它们。

查询是一个对象,其中的键和值会与提供方条目进行匹配:

const values = provider.getWhere({ foo: 42, bar: 'baz' });

在 Strapi 5 中

你需要采用更常规的方式:先获取提供方的值,再使用自定义谓词对其进行过滤:

const values = provider.values().filter(value => value.foo === 42 && value.bar === 'baz');

迁移

手动操作步骤

如果用户使用了 getWhere() 方法,需要按照以下示例作为指南手动更新代码:

在 Strapi v4 中

const values = provider.getWhere({ foo: 42, bar: 'baz' });

在 Strapi 5 中

const values = provider.values().filter(
  value => value.foo === 42 && value.bar === 'baz'
);