persistent-1.0.2: Type-safe, multi-backend data serialization.

Safe HaskellNone

Database.Persist.Query.Join

Contents

Synopsis

Typeclass

class PersistQuery backend m => RunJoin a backend m whereSource

Associated Types

type Result a Source

Methods

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

Instances

(PersistEntity one, PersistEntity many, Ord (Key backend one), PersistQuery backend monad, ~ ((* -> *) -> * -> *) backend (PersistEntityBackend one), ~ ((* -> *) -> * -> *) backend (PersistEntityBackend many)) => 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), PersistQuery backend monad, ~ ((* -> *) -> * -> *) backend (PersistEntityBackend one), ~ ((* -> *) -> * -> *) backend (PersistEntityBackend many)) => RunJoin (SelectOneMany backend one many) backend monad 

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