我有以下代码:
(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键。
我错过了什么吗?
您是否在数据库上创建了实际的引用约束?我想我曾经有过同样的问题,我通过在定义字段时创建外键来修复它。即在PostgreSQL
CREATE TABLE tags (
...
users_id INTEGER REFERENCES users(id),
)