在持久更新后获取更新的记录

时间:2013-09-13 12:54:25

标签: haskell yesod

目前,如果我尝试在处理程序中执行此操作:

newPerson <- runDB $ update personId [PersonAge =. 27]

newPerson的类型为()。似乎update没有产生任何值,所以如果我想获得更新的实体,我需要这样做:

newPerson <- runDB $ do
    update personId [PersonAge =. 27]
    get personId

这导致newPerson类型Maybe Person,以及一些其他代码来处理Nothing案例(或使用fromJust)。有没有办法绕过这个问题? 应该吗?对我来说,update返回更新的记录是有意义的,但它应该真的吗?

1 个答案:

答案 0 :(得分:2)

update返回(),使用updateGet