pub struct SelectTwo<E, F>where
E: EntityTrait,
F: EntityTrait,{ /* private fields */ }
Expand description
Defines a structure to perform a SELECT operation on two Models
Implementations§
source§impl<E, F> SelectTwo<E, F>where
E: EntityTrait,
F: EntityTrait,
impl<E, F> SelectTwo<E, F>where E: EntityTrait, F: EntityTrait,
sourcepub fn into_model<M, N>(self) -> Selector<SelectTwoModel<M, N>>where
M: FromQueryResult,
N: FromQueryResult,
pub fn into_model<M, N>(self) -> Selector<SelectTwoModel<M, N>>where M: FromQueryResult, N: FromQueryResult,
Perform a conversion into a SelectTwoModel
sourcepub fn into_partial_model<M, N>(self) -> Selector<SelectTwoModel<M, N>>where
M: PartialModelTrait,
N: PartialModelTrait,
pub fn into_partial_model<M, N>(self) -> Selector<SelectTwoModel<M, N>>where M: PartialModelTrait, N: PartialModelTrait,
Perform a conversion into a SelectTwoModel with PartialModel
sourcepub fn into_json(self) -> Selector<SelectTwoModel<JsonValue, JsonValue>>
pub fn into_json(self) -> Selector<SelectTwoModel<JsonValue, JsonValue>>
Convert the Models into JsonValue
sourcepub async fn one<'a, C>(
self,
db: &C
) -> Result<Option<(E::Model, Option<F::Model>)>, DbErr>where
C: ConnectionTrait,
pub async fn one<'a, C>( self, db: &C ) -> Result<Option<(E::Model, Option<F::Model>)>, DbErr>where C: ConnectionTrait,
Get one Model from the Select query
sourcepub async fn all<'a, C>(
self,
db: &C
) -> Result<Vec<(E::Model, Option<F::Model>)>, DbErr>where
C: ConnectionTrait,
pub async fn all<'a, C>( self, db: &C ) -> Result<Vec<(E::Model, Option<F::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>), DbErr>> + 'b, DbErr>where
C: ConnectionTrait + StreamTrait + Send,
pub async fn stream<'a: 'b, 'b, C>( self, db: &'a C ) -> Result<impl Stream<Item = Result<(E::Model, Option<F::Model>), DbErr>> + 'b, DbErr>where C: ConnectionTrait + StreamTrait + Send,
Stream the results of a Select operation on a Model
sourcepub async fn stream_partial_model<'a: 'b, 'b, C, M, N>(
self,
db: &'a C
) -> Result<impl Stream<Item = Result<(M, Option<N>), DbErr>> + 'b + Send, DbErr>where
C: ConnectionTrait + StreamTrait + Send,
M: PartialModelTrait + Send + 'b,
N: PartialModelTrait + Send + 'b,
pub async fn stream_partial_model<'a: 'b, 'b, C, M, N>( self, db: &'a C ) -> Result<impl Stream<Item = Result<(M, Option<N>), DbErr>> + 'b + Send, DbErr>where C: ConnectionTrait + StreamTrait + Send, M: PartialModelTrait + Send + 'b, N: PartialModelTrait + Send + 'b,
Stream the result of the operation with PartialModel
Trait Implementations§
source§impl<E, F> Clone for SelectTwo<E, F>where
E: EntityTrait + Clone,
F: EntityTrait + Clone,
impl<E, F> Clone for SelectTwo<E, F>where E: EntityTrait + Clone, F: EntityTrait + Clone,
source§impl<E, F> Debug for SelectTwo<E, F>where
E: EntityTrait + Debug,
F: EntityTrait + Debug,
impl<E, F> Debug for SelectTwo<E, F>where E: EntityTrait + Debug, F: EntityTrait + Debug,
source§impl<'db, C, M, N, E, F> PaginatorTrait<'db, C> for SelectTwo<E, F>where
C: ConnectionTrait,
E: EntityTrait<Model = M>,
F: EntityTrait<Model = N>,
M: FromQueryResult + Sized + Send + Sync + 'db,
N: FromQueryResult + Sized + Send + Sync + 'db,
impl<'db, C, M, N, E, F> PaginatorTrait<'db, C> for SelectTwo<E, F>where C: ConnectionTrait, E: EntityTrait<Model = M>, F: EntityTrait<Model = N>, M: FromQueryResult + Sized + Send + Sync + 'db, N: FromQueryResult + Sized + Send + Sync + 'db,
source§impl<E, F> QueryFilter for SelectTwo<E, F>where
E: EntityTrait,
F: EntityTrait,
impl<E, F> QueryFilter for SelectTwo<E, F>where E: EntityTrait, F: EntityTrait,
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> QueryOrder for SelectTwo<E, F>where
E: EntityTrait,
F: EntityTrait,
impl<E, F> QueryOrder for SelectTwo<E, F>where E: EntityTrait, F: EntityTrait,
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§impl<E, F> QuerySelect for SelectTwo<E, F>where
E: EntityTrait,
F: EntityTrait,
impl<E, F> QuerySelect for SelectTwo<E, F>where E: EntityTrait, F: EntityTrait,
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: IntoSimpleExpr,
I: IntoIdentity,
fn column_as<C, I>(self, col: C, alias: I) -> Selfwhere C: IntoSimpleExpr, 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) -> Selfwhere
T: Into<Option<u64>>,
fn offset<T>(self, offset: T) -> Selfwhere T: Into<Option<u64>>,
Add an offset expression. Passing in None would remove the offset. Read more
source§fn limit<T>(self, limit: T) -> Selfwhere
T: Into<Option<u64>>,
fn limit<T>(self, limit: T) -> Selfwhere T: Into<Option<u64>>,
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 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) -> Selfwhere
T: Into<SelectExpr>,
I: IntoIterator<Item = T>,
fn exprs<T, I>(self, exprs: I) -> Selfwhere T: Into<SelectExpr>, I: IntoIterator<Item = T>,
Add select expressions from vector of
SelectExpr
. Read moresource§fn expr_as<T, A>(&mut self, expr: T, alias: A) -> &mut Selfwhere
T: Into<SimpleExpr>,
A: IntoIdentity,
fn expr_as<T, A>(&mut self, expr: T, alias: A) -> &mut Selfwhere T: Into<SimpleExpr>, A: IntoIdentity,
Select column. Read more
source§impl<E, F> QueryTrait for SelectTwo<E, F>where
E: EntityTrait,
F: EntityTrait,
impl<E, F> QueryTrait for SelectTwo<E, F>where E: EntityTrait, F: EntityTrait,
§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> !RefUnwindSafe for SelectTwo<E, F>
impl<E, F> Send for SelectTwo<E, F>
impl<E, F> Sync for SelectTwo<E, F>
impl<E, F> Unpin for SelectTwo<E, F>where E: Unpin, F: Unpin,
impl<E, F> !UnwindSafe for SelectTwo<E, F>
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> 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<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: IntoSimpleExpr,
I: IntoIdentity,
fn select_column_as<C, I>(self, col: C, alias: I) -> Swhere C: IntoSimpleExpr, I: IntoIdentity,
Add a select column with alias Read more