如何使用 Knex 获取与我正在查询的 table 相关的行

How to fetch rows related to the table I'm querying using Knex

我的程序遇到问题。如果您能提供解决方案或向我介绍正确的来源,那就太好了。

我将用一个例子来解释我的问题。

假设我想从我的数据库中获取 post,结果如下所示:

{
    "id": 1,
    "name": "Post 1",
    "author_id": 1
}

我的目标是在结果中包含作者的详细信息。所以响应看起来像这样:

{
    "id": 1,
    "name": "Post 1",
    "author": {
        "id": 1,
        "name": "Danny DeVito"
    }
}

我目前可以使用我使用事务编写的一些代码来实现这一点。有没有办法用内部 Knex 函数来做到这一点?如果是,请提供示例。如果不是,事务是最有效的方式吗?

遗憾的是我发现了以下内容:

Short answer: No.

With Knex, you can retrieve data the same as with SQL, which is record based, not object based

然而,经过一番挖掘,我发现了一个可以实现类似于 Laravel 的预加载功能的包。它叫做 Objection.js,它允许我保留我的 Knex.js 迁移