pub struct Cursor<S>where
S: SelectorTrait,{ /* private fields */ }Expand description
Cursor pagination
Implementations§
Source§impl<S> Cursor<S>where
S: SelectorTrait,
impl<S> Cursor<S>where
S: SelectorTrait,
Sourcepub fn new<C>(
query: SelectStatement,
table: Arc<dyn Iden>,
order_columns: C,
) -> Cursor<S>where
C: IntoIdentity,
pub fn new<C>(
query: SelectStatement,
table: Arc<dyn Iden>,
order_columns: C,
) -> Cursor<S>where
C: IntoIdentity,
Initialize a cursor
Sourcepub fn before<V>(&mut self, values: V) -> &mut Cursor<S>where
V: IntoValueTuple,
pub fn before<V>(&mut self, values: V) -> &mut Cursor<S>where
V: IntoValueTuple,
Filter paginated result with corresponding column less than the input value
Sourcepub fn after<V>(&mut self, values: V) -> &mut Cursor<S>where
V: IntoValueTuple,
pub fn after<V>(&mut self, values: V) -> &mut Cursor<S>where
V: IntoValueTuple,
Filter paginated result with corresponding column greater than the input value
Sourcepub fn first(&mut self, num_rows: u64) -> &mut Cursor<S>
pub fn first(&mut self, num_rows: u64) -> &mut Cursor<S>
Limit result set to only first N rows in ascending order of the order by column
Sourcepub fn last(&mut self, num_rows: u64) -> &mut Cursor<S>
pub fn last(&mut self, num_rows: u64) -> &mut Cursor<S>
Limit result set to only last N rows in ascending order of the order by column
Sourcepub async fn all<C>(
&mut self,
db: &C,
) -> Result<Vec<<S as SelectorTrait>::Item>, DbErr>where
C: ConnectionTrait,
pub async fn all<C>(
&mut self,
db: &C,
) -> Result<Vec<<S as SelectorTrait>::Item>, DbErr>where
C: ConnectionTrait,
Fetch the paginated result
Sourcepub fn into_model<M>(self) -> Cursor<SelectModel<M>>where
M: FromQueryResult,
pub fn into_model<M>(self) -> Cursor<SelectModel<M>>where
M: FromQueryResult,
Construct a Cursor that fetch any custom struct
Trait Implementations§
Source§impl<S> QueryOrder for Cursor<S>where
S: SelectorTrait,
impl<S> QueryOrder for Cursor<S>where
S: SelectorTrait,
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
Auto Trait Implementations§
impl<S> Freeze for Cursor<S>
impl<S> !RefUnwindSafe for Cursor<S>
impl<S> Send for Cursor<S>where
S: Send,
impl<S> Sync for Cursor<S>where
S: Sync,
impl<S> Unpin for Cursor<S>where
S: Unpin,
impl<S> !UnwindSafe for Cursor<S>
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