pub struct SelectThree<E, F, G>{ /* private fields */ }
Expand description
Defines a structure to perform a SELECT operation on two Models
Implementationsยง
Sourceยงimpl<E, F, G, M, N, O> SelectThree<E, F, G>where
E: EntityTrait<Model = M>,
F: EntityTrait<Model = N>,
G: EntityTrait<Model = O>,
M: FromQueryResult + Sized + Send + Sync,
N: FromQueryResult + Sized + Send + Sync,
O: FromQueryResult + Sized + Send + Sync,
impl<E, F, G, M, N, O> SelectThree<E, F, G>where
E: EntityTrait<Model = M>,
F: EntityTrait<Model = N>,
G: EntityTrait<Model = O>,
M: FromQueryResult + Sized + Send + Sync,
N: FromQueryResult + Sized + Send + Sync,
O: FromQueryResult + Sized + Send + Sync,
Sourcepub fn cursor_by<C>(self, order_columns: C) -> Cursor<SelectThreeModel<M, N, O>>where
C: IdentityOf<E>,
pub fn cursor_by<C>(self, order_columns: C) -> Cursor<SelectThreeModel<M, N, O>>where
C: IdentityOf<E>,
Convert into a cursor using column of first entity
Sourceยงimpl<E, F, G> SelectThree<E, F, G>
impl<E, F, G> SelectThree<E, F, G>
Sourcepub fn into_model<M, N, O>(self) -> Selector<SelectThreeModel<M, N, O>>
pub fn into_model<M, N, O>(self) -> Selector<SelectThreeModel<M, N, O>>
Perform a conversion into a SelectThreeModel
Sourcepub fn into_partial_model<M, N, O>(self) -> Selector<SelectThreeModel<M, N, O>>
pub fn into_partial_model<M, N, O>(self) -> Selector<SelectThreeModel<M, N, O>>
Perform a conversion into a SelectThreeModel with PartialModel
Sourcepub fn into_json(
self,
) -> Selector<SelectThreeModel<JsonValue, JsonValue, JsonValue>>
pub fn into_json( self, ) -> Selector<SelectThreeModel<JsonValue, JsonValue, JsonValue>>
Convert the Models into JsonValue
Sourcepub async fn one<C>(
self,
db: &C,
) -> Result<Option<(E::Model, Option<F::Model>, Option<G::Model>)>, DbErr>where
C: ConnectionTrait,
pub async fn one<C>(
self,
db: &C,
) -> Result<Option<(E::Model, Option<F::Model>, Option<G::Model>)>, DbErr>where
C: ConnectionTrait,
Get one Model from the Select query
Sourcepub async fn all<C>(
self,
db: &C,
) -> Result<Vec<(E::Model, Option<F::Model>, Option<G::Model>)>, DbErr>where
C: ConnectionTrait,
pub async fn all<C>(
self,
db: &C,
) -> Result<Vec<(E::Model, Option<F::Model>, Option<G::Model>)>, DbErr>where
C: ConnectionTrait,
Get all Models from the Select query
Sourcepub async fn stream<'a: 'b, 'b, C>(
self,
db: &'a C,
) -> Result<impl Stream<Item = Result<(E::Model, Option<F::Model>, Option<G::Model>), DbErr>> + 'b, DbErr>
pub async fn stream<'a: 'b, 'b, C>( self, db: &'a C, ) -> Result<impl Stream<Item = Result<(E::Model, Option<F::Model>, Option<G::Model>), DbErr>> + 'b, DbErr>
Stream the results of a Select operation on a Model
Sourcepub async fn stream_partial_model<'a: 'b, 'b, C, M, N, O>(
self,
db: &'a C,
) -> Result<impl Stream<Item = Result<(M, Option<N>, Option<O>), DbErr>> + 'b + Send, DbErr>where
C: ConnectionTrait + StreamTrait + Send,
M: PartialModelTrait + Send + 'b,
N: PartialModelTrait + Send + 'b,
O: PartialModelTrait + Send + 'b,
pub async fn stream_partial_model<'a: 'b, 'b, C, M, N, O>(
self,
db: &'a C,
) -> Result<impl Stream<Item = Result<(M, Option<N>, Option<O>), DbErr>> + 'b + Send, DbErr>where
C: ConnectionTrait + StreamTrait + Send,
M: PartialModelTrait + Send + 'b,
N: PartialModelTrait + Send + 'b,
O: PartialModelTrait + Send + 'b,
Stream the result of the operation with PartialModel
Trait Implementationsยง
Sourceยงimpl<E, F, G> Clone for SelectThree<E, F, G>
impl<E, F, G> Clone for SelectThree<E, F, G>
Sourceยงfn clone(&self) -> SelectThree<E, F, G>
fn clone(&self) -> SelectThree<E, F, G>
Returns a duplicate of the value. Read more
1.0.0 ยท Sourceยงfn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source
. Read moreSourceยงimpl<E, F, G, M, N, O> CursorTrait for SelectThree<E, F, G>where
E: EntityTrait<Model = M>,
F: EntityTrait<Model = N>,
G: EntityTrait<Model = O>,
M: FromQueryResult + Sized + Send + Sync,
N: FromQueryResult + Sized + Send + Sync,
O: FromQueryResult + Sized + Send + Sync,
impl<E, F, G, M, N, O> CursorTrait for SelectThree<E, F, G>where
E: EntityTrait<Model = M>,
F: EntityTrait<Model = N>,
G: EntityTrait<Model = O>,
M: FromQueryResult + Sized + Send + Sync,
N: FromQueryResult + Sized + Send + Sync,
O: FromQueryResult + Sized + Send + Sync,
Sourceยงtype Selector = SelectThreeModel<M, N, O>
type Selector = SelectThreeModel<M, N, O>
Select operation
Sourceยงimpl<E, F, G> Debug for SelectThree<E, F, G>
impl<E, F, G> Debug for SelectThree<E, F, G>
Sourceยงimpl<'db, C, M, N, O, E, F, G> PaginatorTrait<'db, C> for SelectThree<E, F, G>where
C: ConnectionTrait,
E: EntityTrait<Model = M>,
F: EntityTrait<Model = N>,
G: EntityTrait<Model = O>,
M: FromQueryResult + Sized + Send + Sync + 'db,
N: FromQueryResult + Sized + Send + Sync + 'db,
O: FromQueryResult + Sized + Send + Sync + 'db,
impl<'db, C, M, N, O, E, F, G> PaginatorTrait<'db, C> for SelectThree<E, F, G>where
C: ConnectionTrait,
E: EntityTrait<Model = M>,
F: EntityTrait<Model = N>,
G: EntityTrait<Model = O>,
M: FromQueryResult + Sized + Send + Sync + 'db,
N: FromQueryResult + Sized + Send + Sync + 'db,
O: FromQueryResult + Sized + Send + Sync + 'db,
Sourceยงimpl<E, F, G> QueryFilter for SelectThree<E, F, G>
impl<E, F, G> QueryFilter for SelectThree<E, F, G>
type QueryStatement = SelectStatement
Sourceยงfn query(&mut self) -> &mut SelectStatement
fn query(&mut self) -> &mut SelectStatement
Add the query to perform a FILTER on
Sourceยงfn filter<F>(self, filter: F) -> Selfwhere
F: IntoCondition,
fn filter<F>(self, filter: F) -> Selfwhere
F: IntoCondition,
Add an AND WHERE expression Read more
Sourceยงfn belongs_to<M>(self, model: &M) -> Selfwhere
M: ModelTrait,
fn belongs_to<M>(self, model: &M) -> Selfwhere
M: ModelTrait,
Apply a where condition using the modelโs primary key
Sourceยงfn belongs_to_tbl_alias<M>(self, model: &M, tbl_alias: &str) -> Selfwhere
M: ModelTrait,
fn belongs_to_tbl_alias<M>(self, model: &M, tbl_alias: &str) -> Selfwhere
M: ModelTrait,
Perform a check to determine table belongs to a Model through itโs name alias
Sourceยงimpl<E, F, G> QueryOrder for SelectThree<E, F, G>
impl<E, F, G> QueryOrder for SelectThree<E, F, G>
type QueryStatement = SelectStatement
Sourceยงfn query(&mut self) -> &mut SelectStatement
fn query(&mut self) -> &mut SelectStatement
Add the query to perform an ORDER BY operation
Sourceยงfn order_by<C>(self, col: C, ord: Order) -> Selfwhere
C: IntoSimpleExpr,
fn order_by<C>(self, col: C, ord: Order) -> Selfwhere
C: IntoSimpleExpr,
Add an order_by expression Read more
Sourceยงfn order_by_asc<C>(self, col: C) -> Selfwhere
C: IntoSimpleExpr,
fn order_by_asc<C>(self, col: C) -> Selfwhere
C: IntoSimpleExpr,
Add an order_by expression (ascending) Read more
Sourceยงfn order_by_desc<C>(self, col: C) -> Selfwhere
C: IntoSimpleExpr,
fn order_by_desc<C>(self, col: C) -> Selfwhere
C: IntoSimpleExpr,
Add an order_by expression (descending) Read more
Sourceยงfn order_by_with_nulls<C>(self, col: C, ord: Order, nulls: NullOrdering) -> Selfwhere
C: IntoSimpleExpr,
fn order_by_with_nulls<C>(self, col: C, ord: Order, nulls: NullOrdering) -> Selfwhere
C: IntoSimpleExpr,
Add an order_by expression with nulls ordering option Read more
Sourceยงimpl<E, F, G> QuerySelect for SelectThree<E, F, G>
impl<E, F, G> QuerySelect for SelectThree<E, F, G>
type QueryStatement = SelectStatement
Sourceยงfn query(&mut self) -> &mut SelectStatement
fn query(&mut self) -> &mut SelectStatement
Add the select SQL statement
Sourceยงfn select_only(self) -> Self
fn select_only(self) -> Self
Clear the selection list
Sourceยงfn column<C>(self, col: C) -> Selfwhere
C: ColumnTrait,
fn column<C>(self, col: C) -> Selfwhere
C: ColumnTrait,
Add a select column Read more
Sourceยงfn column_as<C, I>(self, col: C, alias: I) -> Selfwhere
C: ColumnAsExpr,
I: IntoIdentity,
fn column_as<C, I>(self, col: C, alias: I) -> Selfwhere
C: ColumnAsExpr,
I: IntoIdentity,
Add a select column with alias Read more
Sourceยงfn columns<C, I>(self, cols: I) -> Selfwhere
C: ColumnTrait,
I: IntoIterator<Item = C>,
fn columns<C, I>(self, cols: I) -> Selfwhere
C: ColumnTrait,
I: IntoIterator<Item = C>,
Select columns Read more
Sourceยงfn offset<T>(self, offset: T) -> Self
fn offset<T>(self, offset: T) -> Self
Add an offset expression. Passing in None would remove the offset. Read more
Sourceยงfn limit<T>(self, limit: T) -> Self
fn limit<T>(self, limit: T) -> Self
Add a limit expression. Passing in None would remove the limit. Read more
Sourceยงfn group_by<C>(self, col: C) -> Selfwhere
C: IntoSimpleExpr,
fn group_by<C>(self, col: C) -> Selfwhere
C: IntoSimpleExpr,
Add a group by column Read more
Sourceยงfn having<F>(self, filter: F) -> Selfwhere
F: IntoCondition,
fn having<F>(self, filter: F) -> Selfwhere
F: IntoCondition,
Add an AND HAVING expression Read more
Sourceยงfn distinct_on<T, I>(self, cols: I) -> Selfwhere
T: IntoColumnRef,
I: IntoIterator<Item = T>,
fn distinct_on<T, I>(self, cols: I) -> Selfwhere
T: IntoColumnRef,
I: IntoIterator<Item = T>,
Add a DISTINCT ON expression
NOTE: this function is only supported by
sqlx-postgres
Read moreSourceยงfn join(self, join: JoinType, rel: RelationDef) -> Self
fn join(self, join: JoinType, rel: RelationDef) -> Self
Join via
RelationDef
.Sourceยงfn join_rev(self, join: JoinType, rel: RelationDef) -> Self
fn join_rev(self, join: JoinType, rel: RelationDef) -> Self
Join via
RelationDef
but in reverse direction.
Assume when there exist a relation A to B.
You can reverse join B from A.Sourceยงfn join_as<I>(self, join: JoinType, rel: RelationDef, alias: I) -> Selfwhere
I: IntoIden,
fn join_as<I>(self, join: JoinType, rel: RelationDef, alias: I) -> Selfwhere
I: IntoIden,
Join via
RelationDef
with table alias.Sourceยงfn join_as_rev<I>(self, join: JoinType, rel: RelationDef, alias: I) -> Selfwhere
I: IntoIden,
fn join_as_rev<I>(self, join: JoinType, rel: RelationDef, alias: I) -> Selfwhere
I: IntoIden,
Join via
RelationDef
with table alias but in reverse direction.
Assume when there exist a relation A to B.
You can reverse join B from A.Select lock shared
Sourceยงfn lock_exclusive(self) -> Self
fn lock_exclusive(self) -> Self
Select lock exclusive
Sourceยงfn lock_with_behavior(self, type: LockType, behavior: LockBehavior) -> Self
fn lock_with_behavior(self, type: LockType, behavior: LockBehavior) -> Self
Row locking with behavior (if supported). Read more
Sourceยงfn expr<T>(self, expr: T) -> Selfwhere
T: Into<SelectExpr>,
fn expr<T>(self, expr: T) -> Selfwhere
T: Into<SelectExpr>,
Add an expression to the select expression list. Read more
Sourceยงfn exprs<T, I>(self, exprs: I) -> Self
fn exprs<T, I>(self, exprs: I) -> Self
Add select expressions from vector of
SelectExpr
. Read moreSourceยงfn expr_as_<T, A>(self, expr: T, alias: A) -> Self
fn expr_as_<T, A>(self, expr: T, alias: A) -> Self
Same as
expr_as
. Here for legacy reasons. Read moreSourceยงfn tbl_col_as<T, C, A>(self, (tbl, col): (T, C), alias: A) -> Self
fn tbl_col_as<T, C, A>(self, (tbl, col): (T, C), alias: A) -> Self
Shorthand of
expr_as(Expr::col((T, C)), A)
. Read moreSourceยงimpl<E, F, G> QueryTrait for SelectThree<E, F, G>
impl<E, F, G> QueryTrait for SelectThree<E, F, G>
Sourceยงtype QueryStatement = SelectStatement
type QueryStatement = SelectStatement
Constrain the QueryStatement to QueryStatementBuilder trait
Sourceยงfn query(&mut self) -> &mut SelectStatement
fn query(&mut self) -> &mut SelectStatement
Get a mutable ref to the query builder
Sourceยงfn as_query(&self) -> &SelectStatement
fn as_query(&self) -> &SelectStatement
Get an immutable ref to the query builder
Sourceยงfn into_query(self) -> SelectStatement
fn into_query(self) -> SelectStatement
Take ownership of the query builder
Auto Trait Implementationsยง
impl<E, F, G> Freeze for SelectThree<E, F, G>
impl<E, F, G> !RefUnwindSafe for SelectThree<E, F, G>
impl<E, F, G> Send for SelectThree<E, F, G>
impl<E, F, G> Sync for SelectThree<E, F, G>
impl<E, F, G> Unpin for SelectThree<E, F, G>
impl<E, F, G> !UnwindSafe for SelectThree<E, F, G>
Blanket Implementationsยง
Sourceยงimpl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Sourceยงfn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Sourceยงimpl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Sourceยงimpl<T> Instrument for T
impl<T> Instrument for T
Sourceยงfn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Sourceยงfn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Sourceยงimpl<T> IntoEither for T
impl<T> IntoEither for T
Sourceยงfn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self
into a Left
variant of Either<Self, Self>
if into_left
is true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moreSourceยงfn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self
into a Left
variant of Either<Self, Self>
if into_left(&self)
returns true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moreSourceยงimpl<S> SelectColumns for Swhere
S: QuerySelect,
impl<S> SelectColumns for Swhere
S: QuerySelect,
Sourceยงfn select_column<C>(self, col: C) -> Swhere
C: ColumnTrait,
fn select_column<C>(self, col: C) -> Swhere
C: ColumnTrait,
Add a select column Read more
Sourceยงfn select_column_as<C, I>(self, col: C, alias: I) -> Swhere
C: ColumnAsExpr,
I: IntoIdentity,
fn select_column_as<C, I>(self, col: C, alias: I) -> Swhere
C: ColumnAsExpr,
I: IntoIdentity,
Add a select column with alias Read more