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, M, N> SelectTwo<E, F>where
E: EntityTrait<Model = M>,
F: EntityTrait<Model = N>,
M: FromQueryResult + Send + Sync,
N: FromQueryResult + Send + Sync,
impl<E, F, M, N> SelectTwo<E, F>where
E: EntityTrait<Model = M>,
F: EntityTrait<Model = N>,
M: FromQueryResult + Send + Sync,
N: FromQueryResult + Send + Sync,
Sourcepub fn cursor_by<C>(self, order_columns: C) -> Cursor<SelectTwoModel<M, N>>where
C: IdentityOf<E>,
pub fn cursor_by<C>(self, order_columns: C) -> Cursor<SelectTwoModel<M, N>>where
C: IdentityOf<E>,
Convert into a cursor using column of first entity
Sourcepub fn cursor_by_other<C>(
self,
order_columns: C,
) -> Cursor<SelectTwoModel<M, N>>where
C: IdentityOf<F>,
pub fn cursor_by_other<C>(
self,
order_columns: C,
) -> Cursor<SelectTwoModel<M, N>>where
C: IdentityOf<F>,
Convert into a cursor using column of second entity
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<Value, Value>>
pub fn into_json(self) -> Selector<SelectTwoModel<Value, Value>>
Convert the Models into JsonValue
Sourcepub async fn one<C>(
self,
db: &C,
) -> Result<Option<(<E as EntityTrait>::Model, Option<<F as EntityTrait>::Model>)>, DbErr>where
C: ConnectionTrait,
pub async fn one<C>(
self,
db: &C,
) -> Result<Option<(<E as EntityTrait>::Model, Option<<F as EntityTrait>::Model>)>, DbErr>where
C: ConnectionTrait,
Get one Model from the Select query
Sourcepub async fn all<C>(
self,
db: &C,
) -> Result<Vec<(<E as EntityTrait>::Model, Option<<F as EntityTrait>::Model>)>, DbErr>where
C: ConnectionTrait,
pub async fn all<C>(
self,
db: &C,
) -> Result<Vec<(<E as EntityTrait>::Model, Option<<F as EntityTrait>::Model>)>, DbErr>where
C: ConnectionTrait,
Get all Models from the Select query
Sourcepub async fn stream<'a, 'b, C>(
self,
db: &'a C,
) -> Result<impl Stream<Item = Result<(<E as EntityTrait>::Model, Option<<F as EntityTrait>::Model>), DbErr>> + 'b, DbErr>
pub async fn stream<'a, 'b, C>( self, db: &'a C, ) -> Result<impl Stream<Item = Result<(<E as EntityTrait>::Model, Option<<F as EntityTrait>::Model>), DbErr>> + 'b, DbErr>
Stream the results of a Select operation on a Model
Sourcepub async fn stream_partial_model<'a, 'b, C, M, N>(
self,
db: &'a C,
) -> Result<impl Stream<Item = Result<(M, Option<N>), DbErr>> + Send + 'b, DbErr>where
'a: 'b,
C: ConnectionTrait + StreamTrait + Send,
M: PartialModelTrait + Send + 'b,
N: PartialModelTrait + Send + 'b,
pub async fn stream_partial_model<'a, 'b, C, M, N>(
self,
db: &'a C,
) -> Result<impl Stream<Item = Result<(M, Option<N>), DbErr>> + Send + 'b, DbErr>where
'a: 'b,
C: ConnectionTrait + StreamTrait + Send,
M: PartialModelTrait + Send + 'b,
N: PartialModelTrait + Send + 'b,
Stream the result of the operation with PartialModel
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 select_also<G>(self, _: G) -> SelectThree<E, F, G>where
G: EntityTrait,
pub fn select_also<G>(self, _: G) -> SelectThree<E, F, G>where
G: EntityTrait,
Selects extra Entity and returns it together with the Entities from Self
Source§impl<E, F> SelectTwo<E, F>where
E: EntityTrait,
F: EntityTrait,
impl<E, F> SelectTwo<E, F>where
E: EntityTrait,
F: EntityTrait,
Left Join with an Entity Related to the first Entity
Left Join with an Entity Related to the second Entity
Trait Implementations§
Source§impl<E, F, M, N> CursorTrait for SelectTwo<E, F>where
E: EntityTrait<Model = M>,
F: EntityTrait<Model = N>,
M: FromQueryResult + Send + Sync,
N: FromQueryResult + Send + Sync,
impl<E, F, M, N> CursorTrait for SelectTwo<E, F>where
E: EntityTrait<Model = M>,
F: EntityTrait<Model = N>,
M: FromQueryResult + Send + Sync,
N: FromQueryResult + Send + Sync,
Source§type Selector = SelectTwoModel<M, N>
type Selector = SelectTwoModel<M, N>
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 + Send + Sync + 'db,
N: FromQueryResult + 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 + Send + Sync + 'db,
N: FromQueryResult + 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
Source§fn filter<F>(self, filter: F) -> Selfwhere
F: IntoCondition,
fn filter<F>(self, filter: F) -> Selfwhere
F: IntoCondition,
Source§fn belongs_to<M>(self, model: &M) -> Selfwhere
M: ModelTrait,
fn belongs_to<M>(self, model: &M) -> Selfwhere
M: ModelTrait,
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,
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
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,
Source§fn order_by_asc<C>(self, col: C) -> Selfwhere
C: IntoSimpleExpr,
fn order_by_asc<C>(self, col: C) -> Selfwhere
C: IntoSimpleExpr,
Source§fn order_by_desc<C>(self, col: C) -> Selfwhere
C: IntoSimpleExpr,
fn order_by_desc<C>(self, col: C) -> Selfwhere
C: IntoSimpleExpr,
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,
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
Source§fn select_only(self) -> Self
fn select_only(self) -> Self
Source§fn column<C>(self, col: C) -> Selfwhere
C: ColumnTrait,
fn column<C>(self, col: C) -> Selfwhere
C: ColumnTrait,
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,
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>,
Source§fn offset<T>(self, offset: T) -> Self
fn offset<T>(self, offset: T) -> Self
Source§fn limit<T>(self, limit: T) -> Self
fn limit<T>(self, limit: T) -> Self
Source§fn group_by<C>(self, col: C) -> Selfwhere
C: IntoSimpleExpr,
fn group_by<C>(self, col: C) -> Selfwhere
C: IntoSimpleExpr,
Source§fn having<F>(self, filter: F) -> Selfwhere
F: IntoCondition,
fn having<F>(self, filter: F) -> Selfwhere
F: IntoCondition,
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>,
sqlx-postgres Read moreSource§fn join(self, join: JoinType, rel: RelationDef) -> Self
fn join(self, join: JoinType, rel: RelationDef) -> Self
RelationDef.Source§fn join_rev(self, join: JoinType, rel: RelationDef) -> Self
fn join_rev(self, join: JoinType, rel: RelationDef) -> Self
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,
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,
RelationDef with table alias but in reverse direction.
Assume when there exist a relation A to B.
You can reverse join B from A.Source§fn lock_exclusive(self) -> Self
fn lock_exclusive(self) -> Self
Source§fn lock_with_behavior(self, type: LockType, behavior: LockBehavior) -> Self
fn lock_with_behavior(self, type: LockType, behavior: LockBehavior) -> Self
Source§fn expr<T>(self, expr: T) -> Selfwhere
T: Into<SelectExpr>,
fn expr<T>(self, expr: T) -> Selfwhere
T: Into<SelectExpr>,
Source§fn exprs<T, I>(self, exprs: I) -> Self
fn exprs<T, I>(self, exprs: I) -> Self
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
expr_as. Here for legacy reasons. Read moreSource§fn tbl_col_as<T, C, A>(self, _: (T, C), alias: A) -> Self
fn tbl_col_as<T, C, A>(self, _: (T, C), alias: A) -> Self
expr_as(Expr::col((T, C)), A). Read moreSource§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,
Source§type QueryStatement = SelectStatement
type QueryStatement = SelectStatement
Source§fn query(&mut self) -> &mut SelectStatement
fn query(&mut self) -> &mut SelectStatement
Source§fn as_query(&self) -> &SelectStatement
fn as_query(&self) -> &SelectStatement
Source§fn into_query(self) -> SelectStatement
fn into_query(self) -> SelectStatement
Auto Trait Implementations§
impl<E, F> Freeze for SelectTwo<E, F>
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>
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
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> ⓘ
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> ⓘ
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<T> Paint for Twhere
T: ?Sized,
impl<T> Paint for Twhere
T: ?Sized,
Source§fn fg(&self, value: Color) -> Painted<&T>
fn fg(&self, value: Color) -> Painted<&T>
Returns a styled value derived from self with the foreground set to
value.
This method should be used rarely. Instead, prefer to use color-specific
builder methods like red() and
green(), which have the same functionality but are
pithier.
§Example
Set foreground color to white using fg():
use yansi::{Paint, Color};
painted.fg(Color::White);Set foreground color to white using white().
use yansi::Paint;
painted.white();Source§fn bright_black(&self) -> Painted<&T>
fn bright_black(&self) -> Painted<&T>
Source§fn bright_red(&self) -> Painted<&T>
fn bright_red(&self) -> Painted<&T>
Source§fn bright_green(&self) -> Painted<&T>
fn bright_green(&self) -> Painted<&T>
Source§fn bright_yellow(&self) -> Painted<&T>
fn bright_yellow(&self) -> Painted<&T>
Source§fn bright_blue(&self) -> Painted<&T>
fn bright_blue(&self) -> Painted<&T>
Source§fn bright_magenta(&self) -> Painted<&T>
fn bright_magenta(&self) -> Painted<&T>
Source§fn bright_cyan(&self) -> Painted<&T>
fn bright_cyan(&self) -> Painted<&T>
Source§fn bright_white(&self) -> Painted<&T>
fn bright_white(&self) -> Painted<&T>
Source§fn bg(&self, value: Color) -> Painted<&T>
fn bg(&self, value: Color) -> Painted<&T>
Returns a styled value derived from self with the background set to
value.
This method should be used rarely. Instead, prefer to use color-specific
builder methods like on_red() and
on_green(), which have the same functionality but
are pithier.
§Example
Set background color to red using fg():
use yansi::{Paint, Color};
painted.bg(Color::Red);Set background color to red using on_red().
use yansi::Paint;
painted.on_red();Source§fn on_primary(&self) -> Painted<&T>
fn on_primary(&self) -> Painted<&T>
Source§fn on_magenta(&self) -> Painted<&T>
fn on_magenta(&self) -> Painted<&T>
Source§fn on_bright_black(&self) -> Painted<&T>
fn on_bright_black(&self) -> Painted<&T>
Source§fn on_bright_red(&self) -> Painted<&T>
fn on_bright_red(&self) -> Painted<&T>
Source§fn on_bright_green(&self) -> Painted<&T>
fn on_bright_green(&self) -> Painted<&T>
Source§fn on_bright_yellow(&self) -> Painted<&T>
fn on_bright_yellow(&self) -> Painted<&T>
Source§fn on_bright_blue(&self) -> Painted<&T>
fn on_bright_blue(&self) -> Painted<&T>
Source§fn on_bright_magenta(&self) -> Painted<&T>
fn on_bright_magenta(&self) -> Painted<&T>
Source§fn on_bright_cyan(&self) -> Painted<&T>
fn on_bright_cyan(&self) -> Painted<&T>
Source§fn on_bright_white(&self) -> Painted<&T>
fn on_bright_white(&self) -> Painted<&T>
Source§fn attr(&self, value: Attribute) -> Painted<&T>
fn attr(&self, value: Attribute) -> Painted<&T>
Enables the styling Attribute value.
This method should be used rarely. Instead, prefer to use
attribute-specific builder methods like bold() and
underline(), which have the same functionality
but are pithier.
§Example
Make text bold using attr():
use yansi::{Paint, Attribute};
painted.attr(Attribute::Bold);Make text bold using using bold().
use yansi::Paint;
painted.bold();Source§fn rapid_blink(&self) -> Painted<&T>
fn rapid_blink(&self) -> Painted<&T>
Source§fn quirk(&self, value: Quirk) -> Painted<&T>
fn quirk(&self, value: Quirk) -> Painted<&T>
Enables the yansi Quirk value.
This method should be used rarely. Instead, prefer to use quirk-specific
builder methods like mask() and
wrap(), which have the same functionality but are
pithier.
§Example
Enable wrapping using .quirk():
use yansi::{Paint, Quirk};
painted.quirk(Quirk::Wrap);Enable wrapping using wrap().
use yansi::Paint;
painted.wrap();Source§fn clear(&self) -> Painted<&T>
👎Deprecated since 1.0.1: renamed to resetting() due to conflicts with Vec::clear().
The clear() method will be removed in a future release.
fn clear(&self) -> Painted<&T>
resetting() due to conflicts with Vec::clear().
The clear() method will be removed in a future release.Source§fn whenever(&self, value: Condition) -> Painted<&T>
fn whenever(&self, value: Condition) -> Painted<&T>
Conditionally enable styling based on whether the Condition value
applies. Replaces any previous condition.
See the crate level docs for more details.
§Example
Enable styling painted only when both stdout and stderr are TTYs:
use yansi::{Paint, Condition};
painted.red().on_yellow().whenever(Condition::STDOUTERR_ARE_TTY);