选择键列表Persistent(Yesod)

时间:2014-05-30 16:17:47

标签: haskell yesod persistent

我需要使用Persistent(Yesod)

从密钥列表中获取实体列表

说我有Model及其对应的ModelId。我和我在一起:

keys :: [ModelId]

我需要

models :: [Model]

目前最好的方法似乎是:

models' <- mapM get keys
models <- return $ Data.Maybe.catMaybes models'

有更有效的方法吗?持久性是否对获取请求进行排队或逐个执行?

yesod persistent: get list of entities from list of keys有同样的问题,但我想知道这是否是最有效的方法。

1 个答案:

答案 0 :(得分:3)

如果我理解你的问题,你可以通过尝试这样的事情来实现它:

models' <- selectList [ModelId <-. keys] []

使用mapM,您将查询数据库length keys次,而selectList执行单个查询。