0

当我使用以下实体配置运行简单查询时。SqlKorma 生成查询并尝试将 table_b 与 table_a 连接,但它使用的字段不存在?

SELECT "table_a"."token", "table_a"."first-name", "table_a"."last-name", "table_b"."item" FROM ("table_a" LEFT JOIN "table_b" ON "table_b"."table_a_id" = "table_b"."token" 

我已经在配置中指定了正确的外键,但 sqlKorma 仍然尝试加入 table_a_id?

(declare table_a table_b)

(korma/defentity table_a
                 (korma/pk :token)
                 (korma/database db)
                 (korma/table :table_a)
                 (korma/has-one table_b))

(korma/defentity table_b
                 (korma/pk :token)
                 (korma/database db)
                 (korma/table :table_b)
                 (korma/belongs-to table_a {:fk :token}))

如果我将 table_b PK 设置为 table_a_id 则查询将起作用,但我想使用令牌作为 PK。

4

1 回答 1

0

我需要像这样在另一边添加外键:

(declare table_a table_b)

(korma/defentity table_a
                 (korma/pk :token)
                 (korma/database db)
                 (korma/table :table_a)
                 (korma/has-one table_b {:fk :token}))

(korma/defentity table_b
                 (korma/pk :token)
                 (korma/database db)
                 (korma/table :table_b)
                 (korma/belongs-to table_a {:fk :token}))
于 2018-03-07T13:36:42.850 回答