1

我有以下代码:

(defentity users
  (database korma-db)
  (has-many tags))

(defentity tags
  (database korma-db)
  (belongs-to users))

(-> (select* users)
    (with tags)
    (fields :address)
    (where {:id 1})
    (as-sql))

它生成以下sql:

SELECT "users"."address" FROM "users" WHERE ("users"."id" = ?)

虽然我希望它包含对标签表的连接,但由于with应用了宏。显然情况并非如此,但执行它会在返回的单个记录中生成一个空的 :tags 键。

我在这里错过了什么吗?

4

1 回答 1

0

您是否在数据库上创建了实际的引用约束?我想我曾经遇到过同样的问题,我通过在定义字段时创建外键来修复它。即在PostgreSQL中

CREATE TABLE tags (
...
 users_id INTEGER REFERENCES users(id),
)
于 2014-05-26T22:30:57.717 回答