在 Strapi v3 中,以下代码将返回随机记录:
strapi.query(table).model.query(qb => {
qb.limit(count); //with limit
qb.orderByRaw("RAND()") //with rand
}).fetchAll()
Run Code Online (Sandbox Code Playgroud)
我怎样才能在 v4 中达到同样的效果?
我是如何解决这个问题的,仅供参考:
const qb = strapi.db.entityManager
.createQueryBuilder("table")
.init({ select: ["id"] })
.getKnexQuery()
.orderByRaw(randomSort())
const ids = (await qb).map(r => r.id)
const filters = { id: { $in: ids } }
return await strapi.entityService.findMany(table, { filters })
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
859 次 |
| 最近记录: |