currently arrayAgg from Database.Esqueleto.PostgreSQL allows to aggregate Values.
It would be nice if it was possible also to aggregate entities.
For example, consider a 1:n relation between tables foo and bar. IT would be nice to write
data Baz = Baz
{ bazFoo :: Entity Foo
, bazBars :: [Entity Bar]
}
$(deriveEsqueletoRecord ''Baz)
query :: FooId -> SqlPersistT m [Baz]
query fooId =
select $ do
foo :& bar <-
from $
table @Foo
`leftJoin` table @Bar
`on` (\(foo :& bar) -> just foo.id ==. bar.foo)
where_ $ foo.id = val fooId
groupBy foo.id
pure $
SqlBaz
{ bazFoo = foo
, bazBars = arrayAgg bar
}
or something analogous
currently
arrayAggfromDatabase.Esqueleto.PostgreSQLallows to aggregateValues.It would be nice if it was possible also to aggregate entities.
For example, consider a 1:n relation between tables
fooandbar. IT would be nice to writeor something analogous