gpt4 book ai didi

bookshelf.js - knex 的自定义函数

转载 作者:行者123 更新时间:2023-12-04 04:51:31 25 4
gpt4 key购买 nike

我一直在做许多操作,我希望有一种方法可以“扩展”knex 来完成它们。

我想要类似的东西:

oneExists
result = knex.count(id).from('table').where({'code': 25})
if (result.length === 0) return false
if (result.length === 1) return true
throw an error

我希望能够做类似的事情
knex.oneExists.count('id').from('table').where({'code': 25}).

目前我正在编写这样的代码:
KnexUtil.oneExists(knex.select('id').from('table').where({code: 25})) 

它返回一个 promise

我查看了 knex 代码库,但不确定:
  • 如何链接它(以及我是否会在/lib/query/compiler.js 中这样做)
  • 如何只对 knex 进行扩展,这样我就不需要修改原始代码库
  • 最佳答案

    从 v0.19.1 开始,knex 具有扩展 QueryBuilder 的内置能力

    import Knex from 'knex'
    Knex.QueryBuilder.extend('someFn', function (arg) {
    console.log('Do Smth', arg)
    return this
    })
    const knex = Knex({ client: 'pg' })
    knex.select().from('table').someFn(0).toString()

    关于bookshelf.js - knex 的自定义函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34101998/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com