我需要使用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有同样的问题,但我想知道这是否是最有效的方法。
答案 0 :(得分:3)
如果我理解你的问题,你可以通过尝试这样的事情来实现它:
models' <- selectList [ModelId <-. keys] []
使用mapM
,您将查询数据库length keys
次,而selectList
执行单个查询。