BAR*_*ARJ 5 haskell key persist yesod
Dog
name Text
race Text
getAllDogsR :: Handler Html
getAllDogsR = do
Dogs<- runDB $ selectList [] [Asc DogName]
defaultLayout
[whamlet|
<ul>
$forall Entity dogid dog <- Dogs
<li>
#{show $ unKey (dogid)}
|]
Run Code Online (Sandbox Code Playgroud)
当我运行此代码时,我将获得我的数据库中所有狗键的列表,
如下所示:
但我真正想要的是显示密钥的纯值,
如下所示:
我的问题是如何实现这一目标.
您需要首先从 a 中提取密钥KeyBackend,如下所示:
extractKey :: KeyBackend backend entity -> String
extractKey = extractKey' . unKey
where extractKey' (PersistInt64 k) = show k
extractKey' _ = ""
Run Code Online (Sandbox Code Playgroud)
你现在应该能够做到
#{extractKey dogid}
Run Code Online (Sandbox Code Playgroud)