Enum sea_orm::entity::ActiveValue
source · pub enum ActiveValue<V>where
V: Into<Value>,{
Set(V),
Unchanged(V),
NotSet,
}Expand description
Defines a stateful value used in ActiveModel.
There are three possible state represented by three enum variants.
- ActiveValue::Set: A defined Value actively being set
- ActiveValue::Unchanged: A defined Value remain unchanged
- ActiveValue::NotSet: An undefined Value
The stateful value is useful when constructing UPDATE SQL statement, see an example below.
Examples
use sea_orm::tests_cfg::{cake, fruit};
use sea_orm::{entity::*, query::*, DbBackend};
// The code snipped below does an UPDATE operation on a `ActiveValue`
assert_eq!(
Update::one(fruit::ActiveModel {
id: ActiveValue::set(1),
name: ActiveValue::set("Orange".to_owned()),
cake_id: ActiveValue::not_set(),
})
.build(DbBackend::Postgres)
.to_string(),
r#"UPDATE "fruit" SET "name" = 'Orange' WHERE "fruit"."id" = 1"#
);Variants§
Set(V)
A defined Value actively being set
Unchanged(V)
A defined Value remain unchanged
NotSet
An undefined Value
Implementations§
source§impl<V> ActiveValue<V>where
V: Into<Value>,
impl<V> ActiveValue<V>where V: Into<Value>,
sourcepub fn set(value: V) -> Self
pub fn set(value: V) -> Self
Create an ActiveValue::Set
sourcepub fn is_set(&self) -> bool
pub fn is_set(&self) -> bool
Check if the ActiveValue is ActiveValue::Set
sourcepub fn unchanged(value: V) -> Self
pub fn unchanged(value: V) -> Self
Create an ActiveValue::Unchanged
sourcepub fn is_unchanged(&self) -> bool
pub fn is_unchanged(&self) -> bool
Check if the ActiveValue is ActiveValue::Unchanged
sourcepub fn not_set() -> Self
pub fn not_set() -> Self
Create an ActiveValue::NotSet
sourcepub fn is_not_set(&self) -> bool
pub fn is_not_set(&self) -> bool
Check if the ActiveValue is ActiveValue::NotSet
sourcepub fn take(&mut self) -> Option<V>
pub fn take(&mut self) -> Option<V>
Get the mutable value an ActiveValue also setting itself to ActiveValue::NotSet
sourcepub fn into_value(self) -> Option<Value>
pub fn into_value(self) -> Option<Value>
Check if a Value exists or not
sourcepub fn into_wrapped_value(self) -> ActiveValue<Value>
pub fn into_wrapped_value(self) -> ActiveValue<Value>
Wrap the Value into a ActiveValue<Value>
sourcepub fn reset(&mut self)
pub fn reset(&mut self)
Reset the value from ActiveValue::Unchanged to ActiveValue::Set, leaving ActiveValue::NotSet untouched.
Trait Implementations§
source§impl<V> Clone for ActiveValue<V>where
V: Into<Value> + Clone,
impl<V> Clone for ActiveValue<V>where V: Into<Value> + Clone,
source§fn clone(&self) -> ActiveValue<V>
fn clone(&self) -> ActiveValue<V>
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moresource§impl<V> Default for ActiveValue<V>where
V: Into<Value>,
impl<V> Default for ActiveValue<V>where V: Into<Value>,
source§fn default() -> Self
fn default() -> Self
Create an ActiveValue::NotSet
source§impl<V> From<ActiveValue<V>> for ActiveValue<Option<V>>where
V: Into<Value> + Nullable,
impl<V> From<ActiveValue<V>> for ActiveValue<Option<V>>where V: Into<Value> + Nullable,
source§fn from(value: ActiveValue<V>) -> Self
fn from(value: ActiveValue<V>) -> Self
Auto Trait Implementations§
impl<V> RefUnwindSafe for ActiveValue<V>where V: RefUnwindSafe,
impl<V> Send for ActiveValue<V>where V: Send,
impl<V> Sync for ActiveValue<V>where V: Sync,
impl<V> Unpin for ActiveValue<V>where V: Unpin,
impl<V> UnwindSafe for ActiveValue<V>where V: 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
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> ToHex for Twhere
T: AsRef<[u8]>,
impl<T> ToHex for Twhere T: AsRef<[u8]>,
source§fn encode_hex<U>(&self) -> Uwhere
U: FromIterator<char>,
fn encode_hex<U>(&self) -> Uwhere U: FromIterator<char>,
self into the result. Lower case
letters are used (e.g. f9b4ca)source§fn encode_hex_upper<U>(&self) -> Uwhere
U: FromIterator<char>,
fn encode_hex_upper<U>(&self) -> Uwhere U: FromIterator<char>,
self into the result. Upper case
letters are used (e.g. F9B4CA)