我正在使用Scotty框架在Haskell中编写REST API。我有一个定义为
的持久表share [mkPersist sqlSettings, mkMigrate "migrateAll"] [persistLowerCase|
User json
username Text
number Text
group Text Maybe
UniqueUsername username
UniqueNumber number
deriving(Show)
...
]
然后我有一个抓住用户fetchUserByName :: Text -> IO (Entity User)
的功能。我不理解的是,如果我有变量user :: Entity User
,我该如何访问任何字段,例如该用户的用户名?我觉得这应该是完全无足轻重的,但我似乎无法在网上找到答案。或者我只是以错误的方式解决这个问题?谢谢。
答案 0 :(得分:3)
您可以使用entityVal
提取您的用户项目,然后您可以使用记录名称到达所需的列(我相信它始终生成格式为格式
<tablename><columnname>
来自camelcase)
print $ userGroup $ entityVal user