sea_orm::entity

Trait ColumnTrait

Source
pub trait ColumnTrait:
    IdenStatic
    + Iterable
    + FromStr {
    type EntityName: EntityName;

Show 33 methods // Required method fn def(&self) -> ColumnDef; // Provided methods fn entity_name(&self) -> DynIden { ... } fn as_column_ref(&self) -> (DynIden, DynIden) { ... } fn eq<V>(&self, v: V) -> SimpleExpr where V: Into<Value> { ... } fn ne<V>(&self, v: V) -> SimpleExpr where V: Into<Value> { ... } fn gt<V>(&self, v: V) -> SimpleExpr where V: Into<Value> { ... } fn gte<V>(&self, v: V) -> SimpleExpr where V: Into<Value> { ... } fn lt<V>(&self, v: V) -> SimpleExpr where V: Into<Value> { ... } fn lte<V>(&self, v: V) -> SimpleExpr where V: Into<Value> { ... } fn between<V>(&self, a: V, b: V) -> SimpleExpr where V: Into<Value> { ... } fn not_between<V>(&self, a: V, b: V) -> SimpleExpr where V: Into<Value> { ... } fn like<T>(&self, s: T) -> SimpleExpr where T: Into<String> { ... } fn not_like<T>(&self, s: T) -> SimpleExpr where T: Into<String> { ... } fn starts_with<T>(&self, s: T) -> SimpleExpr where T: Into<String> { ... } fn ends_with<T>(&self, s: T) -> SimpleExpr where T: Into<String> { ... } fn contains<T>(&self, s: T) -> SimpleExpr where T: Into<String> { ... } fn max(&self) -> SimpleExpr { ... } fn min(&self) -> SimpleExpr { ... } fn sum(&self) -> SimpleExpr { ... } fn count(&self) -> SimpleExpr { ... } fn is_null(&self) -> SimpleExpr { ... } fn is_not_null(&self) -> SimpleExpr { ... } fn if_null<V>(&self, v: V) -> SimpleExpr where V: Into<Value> { ... } fn is_in<V, I>(&self, v: I) -> SimpleExpr where V: Into<Value>, I: IntoIterator<Item = V> { ... } fn is_not_in<V, I>(&self, v: I) -> SimpleExpr where V: Into<Value>, I: IntoIterator<Item = V> { ... } fn in_subquery(&self, s: SelectStatement) -> SimpleExpr { ... } fn not_in_subquery(&self, s: SelectStatement) -> SimpleExpr { ... } fn into_expr(self) -> Expr { ... } fn into_returning_expr(self, db_backend: DbBackend) -> Expr { ... } fn select_as(&self, expr: Expr) -> SimpleExpr { ... } fn select_enum_as(&self, expr: Expr) -> SimpleExpr { ... } fn save_as(&self, val: Expr) -> SimpleExpr { ... } fn save_enum_as(&self, val: Expr) -> SimpleExpr { ... }
}
Expand description

API for working with a Column. Mostly a wrapper of the identically named methods in sea_query::Expr

Required Associated Types§

Required Methods§

Source

fn def(&self) -> ColumnDef

Define a column for an Entity

Provided Methods§

Source

fn entity_name(&self) -> DynIden

Get the name of the entity the column belongs to

Source

fn as_column_ref(&self) -> (DynIden, DynIden)

get the name of the entity the column belongs to

Source

fn eq<V>(&self, v: V) -> SimpleExpr
where V: Into<Value>,

Source

fn ne<V>(&self, v: V) -> SimpleExpr
where V: Into<Value>,

Source

fn gt<V>(&self, v: V) -> SimpleExpr
where V: Into<Value>,

Source

fn gte<V>(&self, v: V) -> SimpleExpr
where V: Into<Value>,

Source

fn lt<V>(&self, v: V) -> SimpleExpr
where V: Into<Value>,

Source

fn lte<V>(&self, v: V) -> SimpleExpr
where V: Into<Value>,

Source

fn between<V>(&self, a: V, b: V) -> SimpleExpr
where V: Into<Value>,

use sea_orm::{entity::*, query::*, tests_cfg::cake, DbBackend};

assert_eq!(
    cake::Entity::find()
        .filter(cake::Column::Id.between(2, 3))
        .build(DbBackend::MySql)
        .to_string(),
    "SELECT `cake`.`id`, `cake`.`name` FROM `cake` WHERE `cake`.`id` BETWEEN 2 AND 3"
);
Source

fn not_between<V>(&self, a: V, b: V) -> SimpleExpr
where V: Into<Value>,

use sea_orm::{entity::*, query::*, tests_cfg::cake, DbBackend};

assert_eq!(
    cake::Entity::find()
        .filter(cake::Column::Id.not_between(2, 3))
        .build(DbBackend::MySql)
        .to_string(),
    "SELECT `cake`.`id`, `cake`.`name` FROM `cake` WHERE `cake`.`id` NOT BETWEEN 2 AND 3"
);
Source

fn like<T>(&self, s: T) -> SimpleExpr
where T: Into<String>,

use sea_orm::{entity::*, query::*, tests_cfg::cake, DbBackend};

assert_eq!(
    cake::Entity::find()
        .filter(cake::Column::Name.like("cheese"))
        .build(DbBackend::MySql)
        .to_string(),
    "SELECT `cake`.`id`, `cake`.`name` FROM `cake` WHERE `cake`.`name` LIKE 'cheese'"
);
Source

fn not_like<T>(&self, s: T) -> SimpleExpr
where T: Into<String>,

use sea_orm::{entity::*, query::*, tests_cfg::cake, DbBackend};

assert_eq!(
    cake::Entity::find()
        .filter(cake::Column::Name.not_like("cheese"))
        .build(DbBackend::MySql)
        .to_string(),
    "SELECT `cake`.`id`, `cake`.`name` FROM `cake` WHERE `cake`.`name` NOT LIKE 'cheese'"
);
Source

fn starts_with<T>(&self, s: T) -> SimpleExpr
where T: Into<String>,

use sea_orm::{entity::*, query::*, tests_cfg::cake, DbBackend};

assert_eq!(
    cake::Entity::find()
        .filter(cake::Column::Name.starts_with("cheese"))
        .build(DbBackend::MySql)
        .to_string(),
    "SELECT `cake`.`id`, `cake`.`name` FROM `cake` WHERE `cake`.`name` LIKE 'cheese%'"
);
Source

fn ends_with<T>(&self, s: T) -> SimpleExpr
where T: Into<String>,

use sea_orm::{entity::*, query::*, tests_cfg::cake, DbBackend};

assert_eq!(
    cake::Entity::find()
        .filter(cake::Column::Name.ends_with("cheese"))
        .build(DbBackend::MySql)
        .to_string(),
    "SELECT `cake`.`id`, `cake`.`name` FROM `cake` WHERE `cake`.`name` LIKE '%cheese'"
);
Source

fn contains<T>(&self, s: T) -> SimpleExpr
where T: Into<String>,

use sea_orm::{entity::*, query::*, tests_cfg::cake, DbBackend};

assert_eq!(
    cake::Entity::find()
        .filter(cake::Column::Name.contains("cheese"))
        .build(DbBackend::MySql)
        .to_string(),
    "SELECT `cake`.`id`, `cake`.`name` FROM `cake` WHERE `cake`.`name` LIKE '%cheese%'"
);
Source

fn max(&self) -> SimpleExpr

See also SeaQuery’s method with same name.

Source

fn min(&self) -> SimpleExpr

See also SeaQuery’s method with same name.

Source

fn sum(&self) -> SimpleExpr

See also SeaQuery’s method with same name.

Source

fn count(&self) -> SimpleExpr

See also SeaQuery’s method with same name.

Source

fn is_null(&self) -> SimpleExpr

See also SeaQuery’s method with same name.

Source

fn is_not_null(&self) -> SimpleExpr

See also SeaQuery’s method with same name.

Source

fn if_null<V>(&self, v: V) -> SimpleExpr
where V: Into<Value>,

Perform an operation if the column is null

Source

fn is_in<V, I>(&self, v: I) -> SimpleExpr
where V: Into<Value>, I: IntoIterator<Item = V>,

Source

fn is_not_in<V, I>(&self, v: I) -> SimpleExpr
where V: Into<Value>, I: IntoIterator<Item = V>,

Source

fn in_subquery(&self, s: SelectStatement) -> SimpleExpr

Source

fn not_in_subquery(&self, s: SelectStatement) -> SimpleExpr

Source

fn into_expr(self) -> Expr

Construct a SimpleExpr::Column wrapped in Expr.

Source

fn into_returning_expr(self, db_backend: DbBackend) -> Expr

Construct a returning Expr.

Source

fn select_as(&self, expr: Expr) -> SimpleExpr

Cast column expression used in select statement. It only cast database enum as text if it’s an enum column.

Source

fn select_enum_as(&self, expr: Expr) -> SimpleExpr

Cast enum column as text; do nothing if self is not an enum.

Source

fn save_as(&self, val: Expr) -> SimpleExpr

Cast value of a column into the correct type for database storage. It only cast text as enum type if it’s an enum column.

Source

fn save_enum_as(&self, val: Expr) -> SimpleExpr

Cast value of an enum column as enum type; do nothing if self is not an enum. Will also transform Array(Vec<Json>) into Json(Vec<Json>) if the column type is Json.

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementors§