Haskell Persistent: как получить сущность из БД по ключу, если у меня есть ключ в целочисленной переменной?

Я использую постоянный orm с scotty web framework.

Я хочу получить значение из db по id. Эти id приходят ко мне из GET request

есть функция "get", которая принимает переменную" Key Entity "и возвращает"Maybe Entity".

Я использую следующий код для получения значения из db

k <- keyFromValues $ [(PersistInt64 myOwnIntVarFromRequest)]
case k of
    Left _ -> {-some processing-}
    Right x -> do
    t <- liftIO . runDb $ get (x::Key Post) --Post is one of my models
    case t of
        Nothing -> {-processing-}
        Just x -> {-processing-}

этот код очень некрасиво. Но я не знаю, как это сделать лучше!--2-->

поэтому мой вопрос заключается в том, как получить переменную типа "ключевая сущность" без вызов keyFromValues.

PS извините за мой бедный английский

1 ответов


можно использовать toSqlKey для этого.