当在Haskell持久性库中需要`Key'时,如何通过`Int`获取实体?

问题描述 投票:10回答:1

我将持久性Orm与scotty Web框架一起使用。

我想通过ID从数据库获取价值。这些ID是从GET请求传给我的

有“获取”函数,它带有“关键实体”变量并返回“可能是实体”。

我使用以下代码从数据库获取价值

k <- keyFromValues $ [(PersistInt64 myOwnIntVarFromRequest)]
case k of
    Left _ -> {-some processing-}
    Right x -> do
    t <- liftIO . runDb $ get (x::Key Post) --Post is one of my models
    case t of
        Nothing -> {-processing-}
        Just x -> {-processing-}

这些代码极其丑陋。但我不知道如何做得更好

所以我的问题是如何在不调用keyFromValues的情况下获取类型为“ Key Entity”的变量。]​​>

PS对不起,我的英语不好

我将持久性orm与scotty web框架一起使用。我想通过ID从数据库获取价值。这些ID是从GET请求传给我的。有“获取”函数,它带有“关键实体”变量并返回“ ...

haskell yesod persistent scotty
1个回答
15
投票
© www.soinside.com 2019 - 2024. All rights reserved.