说,在耶索德/持续性,我有模特的设置,像这样:耶索德/持续一到一个查询
User
ident Text
password Text Maybe
UniqueUser ident
Question
title Text
asker UserId Eq
而且我有Question
秒的列表,并想获取相应的列表的User
s。我会如何去做这件事?我想过关于连接,但这些是一对多,而不是一对一(我想这不重要,但我想要一个更简单的解决方案)。手工做的加入也是一种选择,但我担心的表现 - 我有
questions <- runDB $ selectList [QuestionTitle !=. ""] [LimitTo 10]
let askerIds = map (\(Entity _ q) -> questionAsker q) questions
askers <- sequence $ map (runDB . get) askerIds
let questionsAndAskers = zip questions askers
,但我很担心在map
(那岂不是对数据库的一个单独的请求使用runDB
每个用户?)
是否有更好/更习惯性的方式来实现这一目标?
是的我认为这是公平的假设,每次你碰到'runDB',将执行另一个数据库查询。 – 2012-02-22 14:51:46