pub struct ModelTable<M> { /* private fields */ }Expand description
The model’s entry point — what users::table() (or, for a SELECT-only
model, reports::view()) returns.
One zero-sized type for both: the query side needs only View, and the
mutations are bounded on Table, so on a view model
insert/update/delete simply do not exist — the View/Table split
enforced where it is felt, at the call site.
Implementations§
Source§impl<M> ModelTable<M>
impl<M> ModelTable<M>
Source§impl<M: View> ModelTable<M>
impl<M: View> ModelTable<M>
Sourcepub fn query(self, mods: impl Mod<ModelSelect<M>>) -> ModelSelect<M>
pub fn query(self, mods: impl Mod<ModelSelect<M>>) -> ModelSelect<M>
A SELECT over this model: the base select plus mods — typed
filters, Layer 1 mods, preloads and then-loads, all in one tuple.
ⓘ
let adults = users::table().query((
users::age().gte(21), // typed: a &str here is a compile error
select::limit(20), // Layer 1 mods mix in directly
)).all(&db).await?;Source§impl<M: Table> ModelTable<M>
impl<M: Table> ModelTable<M>
Sourcepub fn insert(self, setter: M::Setter) -> ModelInsert<M>
pub fn insert(self, setter: M::Setter) -> ModelInsert<M>
An INSERT of the setter’s set fields.
ⓘ
let u = users::table().insert(users::Setter {
name: set("Stephen"),
..Default::default()
}).one(&db).await?;Sourcepub fn update(
self,
setter: M::Setter,
mods: impl Mod<ModelUpdate<M>>,
) -> ModelUpdate<M>
pub fn update( self, setter: M::Setter, mods: impl Mod<ModelUpdate<M>>, ) -> ModelUpdate<M>
An UPDATE of the setter’s set fields, filtered and modified by
mods (an unfiltered update really is the whole table, exactly as in
SQL).
Sourcepub fn delete(self, mods: impl Mod<ModelDelete<M>>) -> ModelDelete<M>
pub fn delete(self, mods: impl Mod<ModelDelete<M>>) -> ModelDelete<M>
A DELETE, filtered and modified by mods.
Trait Implementations§
Source§impl<M> Clone for ModelTable<M>
impl<M> Clone for ModelTable<M>
impl<M> Copy for ModelTable<M>
Source§impl<M> Debug for ModelTable<M>
impl<M> Debug for ModelTable<M>
Auto Trait Implementations§
impl<M> Freeze for ModelTable<M>
impl<M> RefUnwindSafe for ModelTable<M>where
M: RefUnwindSafe,
impl<M> Send for ModelTable<M>where
M: Send,
impl<M> Sync for ModelTable<M>where
M: Sync,
impl<M> Unpin for ModelTable<M>where
M: Unpin,
impl<M> UnsafeUnpin for ModelTable<M>
impl<M> UnwindSafe for ModelTable<M>where
M: 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