增加更多join
This commit is contained in:
parent
48cb1003bb
commit
06850823d7
2 changed files with 15 additions and 4 deletions
|
@ -105,8 +105,19 @@ object Query {
|
|||
expandFields[E](e)
|
||||
}
|
||||
|
||||
inline def leftJoin[E1](inline e1: Query[E1]): Joined[E, E1] =
|
||||
Joined[E, E1](JoinType.LeftJoin, e, e1)
|
||||
inline def leftJoin[E1](inline e1: Query[E1]): Joined[E, Option[E1]] =
|
||||
Joined[E, Option[E1]](JoinType.LeftJoin, e, e1)
|
||||
|
||||
inline def rightJoin[E1](inline e1: Query[E1]): Joined[Option[E], E1] =
|
||||
Joined[Option[E], E1](JoinType.RightJoin, e, e1)
|
||||
|
||||
inline def join[E1](inline e1: Query[E1]): Joined[E, E1] =
|
||||
Joined[E, E1](JoinType.InnerJoin, e, e1)
|
||||
|
||||
inline def fullJoin[E1](
|
||||
inline e1: Query[E1]
|
||||
): Joined[Option[E], Option[E1]] =
|
||||
Joined[Option[E], Option[E1]](JoinType.FullJoin, e, e1)
|
||||
|
||||
inline def map[E1](inline f: E => E1): Query[E1] = {
|
||||
transform(e)(f)(Map.apply)
|
||||
|
|
|
@ -7,7 +7,7 @@ import minisql.NamingStrategy
|
|||
import minisql.MirrorContext
|
||||
import minisql.context.mirror.{*, given}
|
||||
|
||||
class QuotedSuite extends munit.FunSuite {
|
||||
class MirrorSqlContextSuite extends munit.FunSuite {
|
||||
|
||||
case class Foo(id: Long, name: String)
|
||||
|
||||
|
@ -37,7 +37,7 @@ class QuotedSuite extends munit.FunSuite {
|
|||
|
||||
test("LeftJoin") {
|
||||
val o = testContext
|
||||
.io(Foos.leftJoin(Foos).on((f1, f2) => f1.id == f2.id).map {
|
||||
.io(Foos.join(Foos).on((f1, f2) => f1.id == f2.id).map {
|
||||
case (f1, f2) => (f1.id, f2.id)
|
||||
})
|
||||
|
Loading…
Add table
Add a link
Reference in a new issue