Yesod/Persistent one-to-one query

后端 未结 2 1020
猫巷女王i
猫巷女王i 2021-01-21 02:02

Say, in Yesod/Persistent, I have models setup like so:

User
    ident Text
    password Text Maybe
    UniqueUser ident
Question
    title Text
    asker UserId          


        
2条回答
  •  轮回少年
    2021-01-21 02:42

    How about:

    questions <- runDB $ selectList [QuestionTitle !=. ""] [LimitTo 10]
    let askerIds = map (\(Entity _ q) -> questionAsker q) questions
    askers <- runDB $ selectList [UserId <-. askerIds] []
    let questionsAndAskers = zip questions askers
    

    That seems like it should hit the DB once for the users.

提交回复
热议问题