Add function keyE.

Give a value, keyE lifts the Key for that value into the query expression.

    keyE :: Esqueleto query expr backend =>
            Value (Key entity) -> expr (Value (Key entity))
This commit is contained in:
Erik de Castro Lopo 2014-07-07 19:50:50 +10:00
parent 4c14076d35
commit 0b830771ea

View File

@ -81,6 +81,7 @@ module Database.Esqueleto
-- * Helpers
, valkey
, keyE
-- * Re-exports
-- $reexports
@ -376,6 +377,16 @@ valkey :: Esqueleto query expr backend =>
valkey = val . Key . PersistInt64
-- | Given a value, lift the Key for that value into the query expression.
keyE :: Esqueleto query expr backend =>
Value (Key entity) -> expr (Value (Key entity))
keyE v =
valkey $
case (unKey . unValue) v of
PersistInt64 x -> x
_ -> error "Esqueleto.keyE: Impossible!"
----------------------------------------------------------------------