Struct SelectSix
pub struct SelectSix<E, F, G, H, I, J, TOP>where
E: EntityTrait,
F: EntityTrait,
G: EntityTrait,
H: EntityTrait,
I: EntityTrait,
J: EntityTrait,
TOP: Topology,{ /* private fields */ }Expand description
Perform a SELECT operation on 6 Models
Implementations§
§impl<E, F, G, H, I, J, TOP> SelectSix<E, F, G, H, I, J, TOP>where
E: EntityTrait,
F: EntityTrait,
G: EntityTrait,
H: EntityTrait,
I: EntityTrait,
J: EntityTrait,
TOP: Topology,
impl<E, F, G, H, I, J, TOP> SelectSix<E, F, G, H, I, J, TOP>where
E: EntityTrait,
F: EntityTrait,
G: EntityTrait,
H: EntityTrait,
I: EntityTrait,
J: EntityTrait,
TOP: Topology,
pub fn into_model<M, N, O, P, Q, R>(
self,
) -> Selector<SelectSixModel<M, N, O, P, Q, R>>where
M: FromQueryResult,
N: FromQueryResult,
O: FromQueryResult,
P: FromQueryResult,
Q: FromQueryResult,
R: FromQueryResult,
pub fn into_model<M, N, O, P, Q, R>(
self,
) -> Selector<SelectSixModel<M, N, O, P, Q, R>>where
M: FromQueryResult,
N: FromQueryResult,
O: FromQueryResult,
P: FromQueryResult,
Q: FromQueryResult,
R: FromQueryResult,
Perform a conversion into a SelectSixModel
pub fn into_partial_model<M, N, O, P, Q, R>(
self,
) -> Selector<SelectSixModel<M, N, O, P, Q, R>>where
M: PartialModelTrait,
N: PartialModelTrait,
O: PartialModelTrait,
P: PartialModelTrait,
Q: PartialModelTrait,
R: PartialModelTrait,
pub fn into_partial_model<M, N, O, P, Q, R>(
self,
) -> Selector<SelectSixModel<M, N, O, P, Q, R>>where
M: PartialModelTrait,
N: PartialModelTrait,
O: PartialModelTrait,
P: PartialModelTrait,
Q: PartialModelTrait,
R: PartialModelTrait,
Perform a conversion into a SelectSixModel with PartialModel
pub fn into_json(
self,
) -> Selector<SelectSixModel<JsonValue, JsonValue, JsonValue, JsonValue, JsonValue, JsonValue>>
pub fn into_json( self, ) -> Selector<SelectSixModel<JsonValue, JsonValue, JsonValue, JsonValue, JsonValue, JsonValue>>
Convert the Models into JsonValue
pub async fn one<C>(
self,
db: &C,
) -> Result<Option<(E::Model, Option<F::Model>, Option<G::Model>, Option<H::Model>, Option<I::Model>, Option<J::Model>)>, DbErr>where
C: ConnectionTrait,
pub async fn one<C>(
self,
db: &C,
) -> Result<Option<(E::Model, Option<F::Model>, Option<G::Model>, Option<H::Model>, Option<I::Model>, Option<J::Model>)>, DbErr>where
C: ConnectionTrait,
Get one Model from the Select query
pub async fn all<C>(
self,
db: &C,
) -> Result<Vec<(E::Model, Option<F::Model>, Option<G::Model>, Option<H::Model>, Option<I::Model>, Option<J::Model>)>, DbErr>where
C: ConnectionTrait,
pub async fn all<C>(
self,
db: &C,
) -> Result<Vec<(E::Model, Option<F::Model>, Option<G::Model>, Option<H::Model>, Option<I::Model>, Option<J::Model>)>, DbErr>where
C: ConnectionTrait,
Get all Models from the Select query
Trait Implementations§
§impl<E, F, G, H, I, J, TOP> Clone for SelectSix<E, F, G, H, I, J, TOP>where
E: EntityTrait + Clone,
F: EntityTrait + Clone,
G: EntityTrait + Clone,
H: EntityTrait + Clone,
I: EntityTrait + Clone,
J: EntityTrait + Clone,
TOP: Topology + Clone,
impl<E, F, G, H, I, J, TOP> Clone for SelectSix<E, F, G, H, I, J, TOP>where
E: EntityTrait + Clone,
F: EntityTrait + Clone,
G: EntityTrait + Clone,
H: EntityTrait + Clone,
I: EntityTrait + Clone,
J: EntityTrait + Clone,
TOP: Topology + Clone,
§impl<E, F, G, H, I, J, TOP> Debug for SelectSix<E, F, G, H, I, J, TOP>where
E: EntityTrait + Debug,
F: EntityTrait + Debug,
G: EntityTrait + Debug,
H: EntityTrait + Debug,
I: EntityTrait + Debug,
J: EntityTrait + Debug,
TOP: Topology + Debug,
impl<E, F, G, H, I, J, TOP> Debug for SelectSix<E, F, G, H, I, J, TOP>where
E: EntityTrait + Debug,
F: EntityTrait + Debug,
G: EntityTrait + Debug,
H: EntityTrait + Debug,
I: EntityTrait + Debug,
J: EntityTrait + Debug,
TOP: Topology + Debug,
§impl<'db, C, EE, FF, GG, HH, II, JJ, E, F, G, H, I, J, TOP> PaginatorTrait<'db, C> for SelectSix<E, F, G, H, I, J, TOP>where
C: ConnectionTrait,
E: EntityTrait<Model = EE>,
F: EntityTrait<Model = FF>,
G: EntityTrait<Model = GG>,
H: EntityTrait<Model = HH>,
I: EntityTrait<Model = II>,
J: EntityTrait<Model = JJ>,
EE: FromQueryResult + Sized + Send + Sync + 'db,
FF: FromQueryResult + Sized + Send + Sync + 'db,
GG: FromQueryResult + Sized + Send + Sync + 'db,
HH: FromQueryResult + Sized + Send + Sync + 'db,
II: FromQueryResult + Sized + Send + Sync + 'db,
JJ: FromQueryResult + Sized + Send + Sync + 'db,
TOP: Topology,
impl<'db, C, EE, FF, GG, HH, II, JJ, E, F, G, H, I, J, TOP> PaginatorTrait<'db, C> for SelectSix<E, F, G, H, I, J, TOP>where
C: ConnectionTrait,
E: EntityTrait<Model = EE>,
F: EntityTrait<Model = FF>,
G: EntityTrait<Model = GG>,
H: EntityTrait<Model = HH>,
I: EntityTrait<Model = II>,
J: EntityTrait<Model = JJ>,
EE: FromQueryResult + Sized + Send + Sync + 'db,
FF: FromQueryResult + Sized + Send + Sync + 'db,
GG: FromQueryResult + Sized + Send + Sync + 'db,
HH: FromQueryResult + Sized + Send + Sync + 'db,
II: FromQueryResult + Sized + Send + Sync + 'db,
JJ: FromQueryResult + Sized + Send + Sync + 'db,
TOP: Topology,
§impl<E, F, G, H, I, J, TOP> QueryFilter for SelectSix<E, F, G, H, I, J, TOP>where
E: EntityTrait,
F: EntityTrait,
G: EntityTrait,
H: EntityTrait,
I: EntityTrait,
J: EntityTrait,
TOP: Topology,
impl<E, F, G, H, I, J, TOP> QueryFilter for SelectSix<E, F, G, H, I, J, TOP>where
E: EntityTrait,
F: EntityTrait,
G: EntityTrait,
H: EntityTrait,
I: EntityTrait,
J: EntityTrait,
TOP: Topology,
type QueryStatement = SelectStatement
§fn query(&mut self) -> &mut SelectStatement
fn query(&mut self) -> &mut SelectStatement
Add the query to perform a FILTER on
§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
§fn filter_mut<F>(&mut self, filter: F)where
F: IntoCondition,
fn filter_mut<F>(&mut self, filter: F)where
F: IntoCondition,
Like
Self::filter, but without consuming self§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 Read more
§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,
Like
belongs_to, but via a table alias Read more§impl<E, F, G, H, I, J, TOP> QueryOrder for SelectSix<E, F, G, H, I, J, TOP>where
E: EntityTrait,
F: EntityTrait,
G: EntityTrait,
H: EntityTrait,
I: EntityTrait,
J: EntityTrait,
TOP: Topology,
impl<E, F, G, H, I, J, TOP> QueryOrder for SelectSix<E, F, G, H, I, J, TOP>where
E: EntityTrait,
F: EntityTrait,
G: EntityTrait,
H: EntityTrait,
I: EntityTrait,
J: EntityTrait,
TOP: Topology,
type QueryStatement = SelectStatement
§fn query(&mut self) -> &mut SelectStatement
fn query(&mut self) -> &mut SelectStatement
Add the query to perform an ORDER BY operation
§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
§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
§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
§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
§impl<E, F, G, H, I, J, TOP> QuerySelect for SelectSix<E, F, G, H, I, J, TOP>where
E: EntityTrait,
F: EntityTrait,
G: EntityTrait,
H: EntityTrait,
I: EntityTrait,
J: EntityTrait,
TOP: Topology,
impl<E, F, G, H, I, J, TOP> QuerySelect for SelectSix<E, F, G, H, I, J, TOP>where
E: EntityTrait,
F: EntityTrait,
G: EntityTrait,
H: EntityTrait,
I: EntityTrait,
J: EntityTrait,
TOP: Topology,
type QueryStatement = SelectStatement
§fn query(&mut self) -> &mut SelectStatement
fn query(&mut self) -> &mut SelectStatement
Add the select SQL statement
§fn select_only(self) -> Self
fn select_only(self) -> Self
Clear the selection list
§fn column<C>(self, col: C) -> Selfwhere
C: ColumnTrait,
fn column<C>(self, col: C) -> Selfwhere
C: ColumnTrait,
Add a select column Read more
§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
§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
§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
§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
§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
§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
§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 more§fn join(self, join: JoinType, rel: RelationDef) -> Self
fn join(self, join: JoinType, rel: RelationDef) -> Self
Join via
RelationDef.§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.§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.§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
§fn lock_exclusive(self) -> Self
fn lock_exclusive(self) -> Self
Select lock exclusive
§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
§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
§fn exprs<T, I>(self, exprs: I) -> Self
fn exprs<T, I>(self, exprs: I) -> Self
Add select expressions from vector of
SelectExpr. Read more§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 more§impl<E, F, G, H, I, J, TOP> QueryTrait for SelectSix<E, F, G, H, I, J, TOP>where
E: EntityTrait,
F: EntityTrait,
G: EntityTrait,
H: EntityTrait,
I: EntityTrait,
J: EntityTrait,
TOP: Topology,
impl<E, F, G, H, I, J, TOP> QueryTrait for SelectSix<E, F, G, H, I, J, TOP>where
E: EntityTrait,
F: EntityTrait,
G: EntityTrait,
H: EntityTrait,
I: EntityTrait,
J: EntityTrait,
TOP: Topology,
§type QueryStatement = SelectStatement
type QueryStatement = SelectStatement
Constrain the QueryStatement to StatementBuilder trait
§fn query(&mut self) -> &mut SelectStatement
fn query(&mut self) -> &mut SelectStatement
Get a mutable ref to the query builder
§fn as_query(&self) -> &SelectStatement
fn as_query(&self) -> &SelectStatement
Get an immutable ref to the query builder
§fn into_query(self) -> SelectStatement
fn into_query(self) -> SelectStatement
Take ownership of the query builder
§impl<E, F, G, H, I, J, TOP> SelectExt for SelectSix<E, F, G, H, I, J, TOP>where
E: EntityTrait,
F: EntityTrait,
G: EntityTrait,
H: EntityTrait,
I: EntityTrait,
J: EntityTrait,
TOP: Topology,
impl<E, F, G, H, I, J, TOP> SelectExt for SelectSix<E, F, G, H, I, J, TOP>where
E: EntityTrait,
F: EntityTrait,
G: EntityTrait,
H: EntityTrait,
I: EntityTrait,
J: EntityTrait,
TOP: Topology,
Auto Trait Implementations§
impl<E, F, G, H, I, J, TOP> Freeze for SelectSix<E, F, G, H, I, J, TOP>
impl<E, F, G, H, I, J, TOP> RefUnwindSafe for SelectSix<E, F, G, H, I, J, TOP>where
E: RefUnwindSafe,
F: RefUnwindSafe,
G: RefUnwindSafe,
H: RefUnwindSafe,
I: RefUnwindSafe,
J: RefUnwindSafe,
TOP: RefUnwindSafe,
impl<E, F, G, H, I, J, TOP> Send for SelectSix<E, F, G, H, I, J, TOP>where
TOP: Send,
impl<E, F, G, H, I, J, TOP> Sync for SelectSix<E, F, G, H, I, J, TOP>where
TOP: Sync,
impl<E, F, G, H, I, J, TOP> Unpin for SelectSix<E, F, G, H, I, J, TOP>
impl<E, F, G, H, I, J, TOP> UnwindSafe for SelectSix<E, F, G, H, I, J, TOP>where
E: UnwindSafe,
F: UnwindSafe,
G: UnwindSafe,
H: UnwindSafe,
I: UnwindSafe,
J: UnwindSafe,
TOP: UnwindSafe,
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 more