有没有办法将函数调用添加到 knex 返回或选择方法?

Posted

技术标签:

【中文标题】有没有办法将函数调用添加到 knex 返回或选择方法?【英文标题】:Is there a way to add function calls to knex returning or select methods? 【发布时间】:2021-07-26 14:55:32 【问题描述】:

我正在尝试将调用 ST_ASText 的方法添加到 Geography 列以将其转换回 wkt。所以我尝试做这样的事情。

activeTrx(TABLE_NAME)
            .returning(['id', 'ST_AsText(polygon_wkt)')
            .insert(values);

【问题讨论】:

【参考方案1】:

Afaik 应该可以工作,但您需要使用 knex.raw

activeTrx(TABLE_NAME)
    .returning([
      'id', 
      knex.raw('ST_AsText(??)', ['polygon_wkt'])
    ])
    .insert(values);

【讨论】:

【参考方案2】:

我最终做了这样的事情。这行得通。

activeTrx
        .raw(
            `?
            RETURNING id, ST_AsText(polygon_wkt) as polygon_wkt;`,
            [activeTrx.table(TABLE_NAME).insert(values)],
            )
        .then((result) => 
            return result.rows;
        );

【讨论】:

以上是关于有没有办法将函数调用添加到 knex 返回或选择方法?的主要内容,如果未能解决你的问题,请参考以下文章

函数的注意点

如何将 knex 查询存储在变量中?

自动将 console.log 添加到每个函数

如何将字符集添加到 Knex.js 连接字符串?

当 Django Admin Popup(添加、更新、删除)完成时,有没有办法调用 Javascript 函数?

MainViewController 有没有办法知道何时调用了 press IBAction 函数? [关闭]