class ForeignKeyQuery[E <: AbstractTable[_], U] extends WrappingQuery[E, U, Seq] with Constraint
A query that selects data linked by a foreign key.
- Source
- Constraint.scala
- Alphabetic
- By Inheritance
- ForeignKeyQuery
- Constraint
- WrappingQuery
- Query
- QueryBase
- Rep
- AnyRef
- Any
- by any2stringadd
- by StringFormat
- by Ensuring
- by ArrowAssoc
- Hide All
- Show All
- Public
- Protected
Instance Constructors
- new ForeignKeyQuery(nodeDelegate: Node, base: ShapedValue[_ <: E, U], fks: IndexedSeq[ForeignKey], targetBaseQuery: Query[E, U, Seq], generator: AnonSymbol, aliasedValue: E)
Value Members
- final def !=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- final def ##: Int
- Definition Classes
- AnyRef → Any
- def &(other: ForeignKeyQuery[E, U]): ForeignKeyQuery[E, U]
Combine the constraints of this
ForeignKeyQuery
with another one with the same target table, leading to a single instance of the target table which satisfies the constraints of both. - def +(other: String): String
- Implicit
- This member is added by an implicit conversion from ForeignKeyQuery[E, U] toany2stringadd[ForeignKeyQuery[E, U]] performed by method any2stringadd in scala.Predef.
- Definition Classes
- any2stringadd
- def ++[O >: E, R, D[_]](other: Query[O, U, D]): Query[O, U, Seq]
Return a new query containing the elements from both operands.
Return a new query containing the elements from both operands. Duplicate elements are preserved.
- Definition Classes
- Query
- def ->[B](y: B): (ForeignKeyQuery[E, U], B)
- Implicit
- This member is added by an implicit conversion from ForeignKeyQuery[E, U] toArrowAssoc[ForeignKeyQuery[E, U]] performed by method ArrowAssoc in scala.Predef.
- Definition Classes
- ArrowAssoc
- Annotations
- @inline()
- final def ==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- final def asInstanceOf[T0]: T0
- Definition Classes
- Any
- def clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.CloneNotSupportedException]) @HotSpotIntrinsicCandidate() @native()
- def countDistinct: Rep[Int]
The number of distinct elements of the query.
The number of distinct elements of the query.
- Definition Classes
- Query
- def distinct: Query[E, U, Seq]
Remove duplicate elements.
Remove duplicate elements. When used on an ordered Query, there is no guarantee in which order duplicates are removed. This method is equivalent to
distinctOn(identity)
.- Definition Classes
- Query
- def distinctOn[F, T](f: (E) => F)(implicit shape: Shape[_ <: FlatShapeLevel, F, T, _]): Query[E, U, Seq]
Remove duplicate elements which are the same in the given projection.
Remove duplicate elements which are the same in the given projection. When used on an ordered Query, there is no guarantee in which order duplicates are removed.
- Definition Classes
- Query
- def drop(num: Int): Query[E, U, Seq]
Select all elements except the first
num
ones.Select all elements except the first
num
ones.- Definition Classes
- Query
- def drop(num: Long): Query[E, U, Seq]
Select all elements except the first
num
ones.Select all elements except the first
num
ones.- Definition Classes
- Query
- def drop(num: ConstColumn[Long]): Query[E, U, Seq]
Select all elements except the first
num
ones.Select all elements except the first
num
ones.- Definition Classes
- Query
- def encodeRef(path: Node): Query[E, U, Seq]
Encode a reference into this Rep.
- def ensuring(cond: (ForeignKeyQuery[E, U]) => Boolean, msg: => Any): ForeignKeyQuery[E, U]
- Implicit
- This member is added by an implicit conversion from ForeignKeyQuery[E, U] toEnsuring[ForeignKeyQuery[E, U]] performed by method Ensuring in scala.Predef.
- Definition Classes
- Ensuring
- def ensuring(cond: (ForeignKeyQuery[E, U]) => Boolean): ForeignKeyQuery[E, U]
- Implicit
- This member is added by an implicit conversion from ForeignKeyQuery[E, U] toEnsuring[ForeignKeyQuery[E, U]] performed by method Ensuring in scala.Predef.
- Definition Classes
- Ensuring
- def ensuring(cond: Boolean, msg: => Any): ForeignKeyQuery[E, U]
- Implicit
- This member is added by an implicit conversion from ForeignKeyQuery[E, U] toEnsuring[ForeignKeyQuery[E, U]] performed by method Ensuring in scala.Predef.
- Definition Classes
- Ensuring
- def ensuring(cond: Boolean): ForeignKeyQuery[E, U]
- Implicit
- This member is added by an implicit conversion from ForeignKeyQuery[E, U] toEnsuring[ForeignKeyQuery[E, U]] performed by method Ensuring in scala.Predef.
- Definition Classes
- Ensuring
- final def eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- def equals(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef → Any
- def exists: Rep[Boolean]
Test whether this query is non-empty.
Test whether this query is non-empty.
- Definition Classes
- Query
- def filter[T](f: (E) => T)(implicit wt: CanBeQueryCondition[T]): Query[E, U, Seq]
Select all elements of this query which satisfy a predicate.
Select all elements of this query which satisfy a predicate. Unlike
withFilter
, this method only allowsRep
-valued predicates, so it guards against the accidental use plain Booleans.- Definition Classes
- Query
- def filterIf[T](p: Boolean)(f: (E) => T)(implicit arg0: CanBeQueryCondition[T]): Query[E, U, Seq]
Applies the given filter function, if the boolean parameter
p
evaluates to true.Applies the given filter function, if the boolean parameter
p
evaluates to true. If not, the filter will not be part of the query.- Definition Classes
- Query
- def filterNot[T](f: (E) => T)(implicit wt: CanBeQueryCondition[T]): Query[E, U, Seq]
- Definition Classes
- Query
- def filterNotIf[T](p: Boolean)(f: (E) => T)(implicit arg0: CanBeQueryCondition[T]): Query[E, U, Seq]
Applies the given filterNot function, if the boolean parameter
p
evaluates to true.Applies the given filterNot function, if the boolean parameter
p
evaluates to true. If not, the filter will not be part of the query.- Definition Classes
- Query
- def filterNotOpt[V, T](optValue: Option[V])(f: (E, V) => T)(implicit arg0: CanBeQueryCondition[T]): Query[E, U, Seq]
Applies the given filterNot, if the Option value is defined.
Applies the given filterNot, if the Option value is defined. If the value is None, the filter will not be part of the query.
- Definition Classes
- Query
- def filterOpt[V, T](optValue: Option[V])(f: (E, V) => T)(implicit arg0: CanBeQueryCondition[T]): Query[E, U, Seq]
Applies the given filter, if the Option value is defined.
Applies the given filter, if the Option value is defined. If the value is None, the filter will not be part of the query.
- Definition Classes
- Query
- val fks: IndexedSeq[ForeignKey]
- def flatMap[F, T, D[_]](f: (E) => Query[F, T, D]): Query[F, T, Seq]
Build a new query by applying a function to all elements of this query and using the elements of the resulting queries.
Build a new query by applying a function to all elements of this query and using the elements of the resulting queries. This corresponds to an implicit inner join in SQL.
- Definition Classes
- Query
- def forUpdate: Query[E, U, Seq]
Specify part of a select statement for update and marked for row level locking
Specify part of a select statement for update and marked for row level locking
- Definition Classes
- Query
- final def getClass(): Class[_ <: AnyRef]
- Definition Classes
- AnyRef → Any
- Annotations
- @HotSpotIntrinsicCandidate() @native()
- def groupBy[K, T, G, P](f: (E) => K)(implicit kshape: Shape[_ <: FlatShapeLevel, K, T, G], vshape: Shape[_ <: FlatShapeLevel, E, _, P]): Query[(G, Query[P, U, Seq]), (T, Query[P, U, Seq]), Seq]
Partition this query into a query of pairs of a key and a nested query containing the elements for the key, according to some discriminator function.
Partition this query into a query of pairs of a key and a nested query containing the elements for the key, according to some discriminator function.
- Definition Classes
- Query
- def hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @HotSpotIntrinsicCandidate() @native()
- final def isInstanceOf[T0]: Boolean
- Definition Classes
- Any
- def join[E2, U2, D[_]](q2: Query[E2, U2, D]): BaseJoinQuery[E, E2, U, U2, Seq, E, E2]
Join two queries with a cross join or inner join.
Join two queries with a cross join or inner join. An optional join predicate can be specified later by calling
on
.- Definition Classes
- Query
- def joinFull[E1 >: E, E2, U2, D[_], O1, U1, O2](q2: Query[E2, _, D])(implicit ol1: OptionLift[E1, O1], sh1: Shape[FlatShapeLevel, O1, U1, _], ol2: OptionLift[E2, O2], sh2: Shape[FlatShapeLevel, O2, U2, _]): BaseJoinQuery[O1, O2, U1, U2, Seq, E, E2]
Join two queries with a full outer join.
Join two queries with a full outer join. An optional join predicate can be specified later by calling
on
. Both sides of the join are lifted to anOption
. If at least one element on either side matches the other side, all matching elements are returned asSome
, otherwise a singleNone
row is returned.- Definition Classes
- Query
- def joinLeft[E2, U2, D[_], O2](q2: Query[E2, _, D])(implicit ol: OptionLift[E2, O2], sh: Shape[FlatShapeLevel, O2, U2, _]): BaseJoinQuery[E, O2, U, U2, Seq, E, E2]
Join two queries with a left outer join.
Join two queries with a left outer join. An optional join predicate can be specified later by calling
on
. The right side of the join is lifted to anOption
. If at least one element on the right matches, all matching elements are returned asSome
, otherwise a singleNone
row is returned.- Definition Classes
- Query
- def joinRight[E1 >: E, E2, U2, D[_], O1, U1](q2: Query[E2, U2, D])(implicit ol: OptionLift[E1, O1], sh: Shape[FlatShapeLevel, O1, U1, _]): BaseJoinQuery[O1, E2, U1, U2, Seq, E, E2]
Join two queries with a right outer join.
Join two queries with a right outer join. An optional join predicate can be specified later by calling
on
. The left side of the join is lifted to anOption
. If at least one element on the left matches, all matching elements are returned asSome
, otherwise a singleNone
row is returned.- Definition Classes
- Query
- def length: Rep[Int]
The total number of elements (i.e.
The total number of elements (i.e. rows).
- Definition Classes
- Query
- def map[F, G, T](f: (E) => F)(implicit shape: Shape[_ <: FlatShapeLevel, F, T, G]): Query[G, T, Seq]
Build a new query by applying a function to all elements of this query.
Build a new query by applying a function to all elements of this query.
- Definition Classes
- Query
- final def ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- final def notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @HotSpotIntrinsicCandidate() @native()
- final def notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @HotSpotIntrinsicCandidate() @native()
- def pack[R](implicit packing: Shape[_ <: FlatShapeLevel, E, _, R]): Query[R, U, Seq]
- Definition Classes
- Query
- final lazy val packed: Node
- Definition Classes
- Query
- val shaped: ShapedValue[_ <: E, U]
- Definition Classes
- WrappingQuery → Query
- def size: Rep[Int]
The total number of elements (i.e.
The total number of elements (i.e. rows).
- Definition Classes
- Query
- def sortBy[T](f: (E) => T)(implicit ev: (T) => Ordered): Query[E, U, Seq]
Sort this query according to a function which extracts the ordering criteria from the query's elements.
Sort this query according to a function which extracts the ordering criteria from the query's elements.
- Definition Classes
- Query
- def sorted(implicit ev: (E) => Ordered): Query[E, U, Seq]
Sort this query according to a the ordering of its elements.
Sort this query according to a the ordering of its elements.
- Definition Classes
- Query
- def subquery: Query[E, U, Seq]
Force a subquery to be created when using this Query as part of a larger Query.
Force a subquery to be created when using this Query as part of a larger Query. This method should never be necessary for correctness. If a query works with an explicit
.subquery
call but fails without, this should be considered a bug in Slick. The method is exposed in the API to enable workarounds to be written in such cases.- Definition Classes
- Query
- final def synchronized[T0](arg0: => T0): T0
- Definition Classes
- AnyRef
- def take(num: Int): Query[E, U, Seq]
Select the first
num
elements.Select the first
num
elements.- Definition Classes
- Query
- def take(num: Long): Query[E, U, Seq]
Select the first
num
elements.Select the first
num
elements.- Definition Classes
- Query
- def take(num: ConstColumn[Long]): Query[E, U, Seq]
Select the first
num
elements.Select the first
num
elements.- Definition Classes
- Query
- def to[D[_]](implicit ctc: TypedCollectionTypeConstructor[D]): Query[E, U, D]
Change the collection type to build when executing the query.
Change the collection type to build when executing the query.
- Definition Classes
- Query
- val toNode: Node
Get the Node for this Rep.
Get the Node for this Rep.
- Definition Classes
- WrappingQuery → Rep
- def toString(): String
- Definition Classes
- Rep → AnyRef → Any
- def union[O >: E, R, D[_]](other: Query[O, U, D]): Query[O, U, Seq]
Return a new query containing the elements from both operands.
Return a new query containing the elements from both operands. Duplicate elements are eliminated from the result.
- Definition Classes
- Query
- def unionAll[O >: E, R, D[_]](other: Query[O, U, D]): Query[O, U, Seq]
Return a new query containing the elements from both operands.
Return a new query containing the elements from both operands. Duplicate elements are preserved.
- Definition Classes
- Query
- final def wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- final def wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException]) @native()
- final def wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- def withFilter[T](f: (E) => T)(implicit arg0: CanBeQueryCondition[T]): Query[E, U, Seq]
Select all elements of this query which satisfy a predicate.
Select all elements of this query which satisfy a predicate. This method is used when desugaring for-comprehensions over queries. There is no reason to call it directly because it is the same as
filter
.- Definition Classes
- Query
- def zip[E2, U2, D[_]](q2: Query[E2, U2, D]): Query[(E, E2), (U, U2), Seq]
Return a query formed from this query and another query by combining corresponding elements in pairs.
Return a query formed from this query and another query by combining corresponding elements in pairs.
- Definition Classes
- Query
- def zipWith[E2, U2, F, G, T, D[_]](q2: Query[E2, U2, D], f: (E, E2) => F)(implicit shape: Shape[_ <: FlatShapeLevel, F, T, G]): Query[G, T, Seq]
Return a query formed from this query and another query by combining corresponding elements with the specified function.
Return a query formed from this query and another query by combining corresponding elements with the specified function.
- Definition Classes
- Query
- def zipWithIndex: BaseJoinQuery[E, Rep[Long], U, Long, Seq, E, Rep[Long]]
Zip this query with its indices (starting at 0).
Zip this query with its indices (starting at 0).
- Definition Classes
- Query
Deprecated Value Members
- def finalize(): Unit
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.Throwable]) @Deprecated
- Deprecated
(Since version 9)
- def formatted(fmtstr: String): String
- Implicit
- This member is added by an implicit conversion from ForeignKeyQuery[E, U] toStringFormat[ForeignKeyQuery[E, U]] performed by method StringFormat in scala.Predef.
- Definition Classes
- StringFormat
- Annotations
- @deprecated @inline()
- Deprecated
(Since version 2.12.16) Use
formatString.format(value)
instead ofvalue.formatted(formatString)
, or use thef""
string interpolator. In Java 15 and later,formatted
resolves to the new method in String which has reversed parameters.
- def →[B](y: B): (ForeignKeyQuery[E, U], B)
- Implicit
- This member is added by an implicit conversion from ForeignKeyQuery[E, U] toArrowAssoc[ForeignKeyQuery[E, U]] performed by method ArrowAssoc in scala.Predef.
- Definition Classes
- ArrowAssoc
- Annotations
- @deprecated
- Deprecated
(Since version 2.13.0) Use
->
instead. If you still wish to display it as one character, consider using a font with programming ligatures such as Fira Code.
edit this text on github
Scala Language-Integrated Connection Kit
This is the API documentation for the Slick database library. It should be used as an additional resource to the user manual.
Further documentation for Slick can be found on the documentation pages.
To the slick package list...