Używam Persistent orm ze szkocką frameworkiem internetowym.Haskell Persistent: jak uzyskać encji z db przez klucz, jeśli mam klucz w zmiennej liczbowej?
Chcę uzyskać wartość z db przez id. Te id przychodzą do mnie z żądania GET
Istnieje funkcja "get", która pobiera zmienną "Key Entity" i zwraca "Maybe Entity".
używam następujący kod, aby uzyskać wartości z 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-}
Są kod jest wyjątkowo brzydkie. Ale nie wiem jak to zrobić lepiej
Moje pytanie brzmi: jak uzyskać zmienną typu "Key Entity" bez wywoływania keyFromValues.
PS Przepraszam za mój słaby angielski
Dziękuję za odpowiedź! –
@ michael-snoyman: Co się stanie, jeśli klucz ma inny typ niż "Int64"? –
Nie jestem właściwie zaznajomiony z bardziej elastycznym mechanizmem klucza głównego w trwałym, więc nie mogę doradzić, jak sobie z tym poradzić. –