persistent-0.6.4: Type-safe, non-relational, multi-backend persistence.

Database.Persist.Join

Contents

Synopsis

Typeclass

class PersistBackend b m => RunJoin a b m whereSource

Associated Types

type Result a Source

Methods

runJoin :: a -> b m (Result a)Source

Instances

(PersistEntity one, PersistEntity many, Ord (Key backend one), PersistBackend backend monad) => RunJoin (SelectOneMany backend one many) backend monad 

One-to-many relation

data SelectOneMany backend one many Source

Constructors

SelectOneMany 

Fields

somFilterOne :: [Filter one]
 
somOrderOne :: [SelectOpt one]
 
somFilterMany :: [Filter many]
 
somOrderMany :: [SelectOpt many]
 
somFilterKeys :: [Key backend one] -> Filter many
 
somGetKey :: many -> Key backend one
 
somIncludeNoMatch :: Bool
 

Instances

(PersistEntity one, PersistEntity many, Eq (Key SqlPersist one)) => RunJoin (SelectOneMany SqlPersist one many) 
(PersistEntity one, PersistEntity many, Ord (Key backend one), PersistBackend backend monad) => RunJoin (SelectOneMany backend one many) backend monad 

selectOneMany :: ([Key backend one] -> Filter many) -> (many -> Key backend one) -> SelectOneMany backend one manySource