use*_*146 2 haskell persistent yesod
假设我有fooIds :: [Key Foo].我怎么会得到foos :: [Foo]?
我试过了
do
foos <- map get fooIds
Run Code Online (Sandbox Code Playgroud)
但它给了我
No instance for (MonadBaseControl IO m0)
arising from a use of `get'
Run Code Online (Sandbox Code Playgroud)
我假设因为我需要使用runDB.但我不太确定如何使用它.
它看起来像这样:
foos <- runDB $ mapM get fooIds
Run Code Online (Sandbox Code Playgroud)
但是,这会给你一个Maybe Foos 列表.你可以把它转换成列表Foo由要么更换小号get用get404或使用catMaybes.请注意,这是两种不同的方法:第一种,如果不存在任何ID,则用户将获得404.使用第二种方法,该键将被忽略.