0

我正在尝试在 knex 查询构建器 js 中重写以下内容。

有谁知道这是怎么做到的吗?

knex.raw(
    /* sql */ `
      UPDATE "product-products_fields" SET value = ?
      WHERE productid = ?
      AND fieldid = (SELECT fieldid FROM "product-fields" WHERE field = ?)`,
   [value, productId, field],
);
4

1 回答 1

0

我会创建 2 个查询:

const firstQuery = await knex("product-fields")
.where("field", field)
.select("fieldid")

const secondQuery = await knex("product-products_fields")
.update("value", value)
.where("productid", productId)
.andWhere("fieldid", firstQuery)

或类似的东西。

于 2021-08-21T12:16:04.033 回答