我有一个包含以下枚举的数据库数据库
{:db/id #db/id[:db.part/db]
:db/ident :demographics/gender
:db/valueType :db.type/ref
:db/cardinality :db.cardinality/one
:db/doc "A person's gender enum reference"
:db.install/_attribute :db.part/db}
;; :demographics/gender enum values
{:db/id #db/id[:db.part/user]
:db/ident :demographics.gender/male}
{:db/id #db/id[:db.part/user]
:db/ident :demographics.gender/female}
{:db/id #db/id[:db.part/user]
:db/ident :demographics.gender/other}
现在说我做:
(d/entity db ...)
获取包含实体及其属性的惰性映射,包含上面的枚举。我现在想要获取我从查询中获得的枚举值的字符串表示形式。我的想法是这样做:
(def ^:private gender-map {:demographics.gender/male "Male"
:demographics.gender/female "Female"
:demographics.gender/other "Other"})
然后这个
(gender-map (lazy-map :demographics/gender))
然而,这不起作用。这样做的正确方法是什么?
由于
答案 0 :(得分:0)
lazy-map
。如果是从(d/entity ...)
返回的结果,请检查它是否具有有效的:demographics/gender
条目。