我使用windows上的sqlite3数据库来处理clojure及其korma库。我学习了7本网络书的一个例子。介绍了select*函数及其好友。
但是使用fields函数可以添加字段而不是限制。
;; models.clj
(defentity issue
(entity-fields :id :project_id :title :description :status)
(has-many comment))
;; repl
test=> (-> (select* issue)
#_=> (fields :title)
#_=> (as-sql))
"SELECT \"issue\".\"id\", \"issue\".\"project_id\", \"issue\".\"title\", \"issue\".\"description\", \"issue\".\"status\", \"issue\".\"title\" FROM \"issue\""我错过什么了吗?
发布于 2015-05-24 15:40:05
正如在问题#251中提到的,原因是entity-fields表达式。它定义查询的默认字段。fields函数向缺省值添加更多字段。按设计工作。
因此,我在entity-fields中删除了defentity。
;; models.clj
(defentity issue
(has-many comment))
;; repl
test=> (-> (select* issue)
#_=> (fields :title)
#_=> (as-sql))
"SELECT \"issue\".\"title\" FROM \"issue\""
test=> (-> (select* issue)
#_=> (as-sql))
"SELECT \"issue\".* FROM \"issue\""https://stackoverflow.com/questions/30424533
复制相似问题