6

如何让 knex 对象在我的 Strapi 服务中执行自定义或复杂查询?

我的 Strapi 版本已安装strapi-hook-knexstrapi-hook-bookshelf但当我运行qb.raw它时,它是一个未定义的对象。

这是运行这样的查询:

qb.select(knex.raw('.... ?? )', '...'))
4

3 回答 3

8

你会发现它在strapi.connections.default

default如果您不更改连接名称。如果你这样做了,你将不得不default用你的连接名称替换。

于 2018-12-10T14:21:50.323 回答
6

我花了一段时间来确定确切的语法。在这里以防万一对其他人有帮助。如果没有 Jim LAURIE 的回答,就不可能到达那里。

module.exports = {
  async findCustom(ctx) {
    const rawBuilder = strapi.connections.default.raw(
      "select field1 from mytable where field1 = 'x'"
    );
    const resp = await rawBuilder.then();
    return resp.rows;
  }
}
于 2020-06-01T22:10:05.990 回答
0

使用 Strapi v4 使用:

strapi.db.connection.raw 

代替

strapi.connections.default.raw
于 2022-02-12T18:24:18.817 回答