当我使用以下实体配置运行简单查询时。 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,那么查询将起作用,但我想使用token作为PK。
答案 0 :(得分: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}))