0

我想知道如何在 Yesod 中向数据库(sqlite)添加新数据。到目前为止,我的模型:

Payment
   timestamp UTCTime
   from UserId
   to UserId
   amount Int

当用户登录时,他可以进入他的空间,在那里他可以填写一个新表格并将其发送到 postPaymentsR:

 getUserR :: UserId -> Handler Html
 getUserR userId = do
    user <- runDB $ get404 userId
    mauth <- maybeAuthId
    case mauth of
       Just _ -> defaultLayout $ do
        setTitle $ toHtml $ userIdent user
        [whamlet|
            <h1> #{userIdent user}
            <form method=post action=@{PaymentsR}>
                <p>Enter new payment:
                <input type=text name=payment>
                <p>From user:
                <input type=text name=user>
                <input type=submit value="Add">
        |]      
       Nothing -> defaultLayout $ do
        setTitle $ toHtml $ userIdent user
        [whamlet|
            <h1> #{userIdent user}
        |]

现在我必须将此数据发布到付款中。我尝试过使用 runDB $ insert paymentTo UserIdent 和其他一些东西,但它似乎不起作用。有任何想法吗?谢谢

4

0 回答 0