权限提供方实例的 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'
);