pub trait ColumnTrait:
IdenStatic
+ IntoEnumIterator
+ FromStr {
type EntityName: EntityName;
Show 32 methods
// Required method
fn def(&self) -> ColumnDef;
// Provided methods
fn entity_name(&self) -> SeaRc<dyn Iden> { ... }
fn as_column_ref(&self) -> (SeaRc<dyn Iden>, SeaRc<dyn Iden>) { ... }
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 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§
type EntityName: EntityName
Required Methods§
Provided Methods§
Sourcefn entity_name(&self) -> SeaRc<dyn Iden>
fn entity_name(&self) -> SeaRc<dyn Iden>
Get the name of the entity the column belongs to
Sourcefn as_column_ref(&self) -> (SeaRc<dyn Iden>, SeaRc<dyn Iden>)
fn as_column_ref(&self) -> (SeaRc<dyn Iden>, SeaRc<dyn Iden>)
get the name of the entity the column belongs to
fn eq<V>(&self, v: V) -> SimpleExpr
fn ne<V>(&self, v: V) -> SimpleExpr
fn gt<V>(&self, v: V) -> SimpleExpr
fn gte<V>(&self, v: V) -> SimpleExpr
fn lt<V>(&self, v: V) -> SimpleExpr
fn lte<V>(&self, v: V) -> SimpleExpr
Sourcefn between<V>(&self, a: V, b: V) -> SimpleExpr
fn between<V>(&self, a: V, b: V) -> SimpleExpr
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"
);Sourcefn not_between<V>(&self, a: V, b: V) -> SimpleExpr
fn not_between<V>(&self, a: V, b: V) -> SimpleExpr
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"
);Sourcefn like<T>(&self, s: T) -> SimpleExpr
fn like<T>(&self, s: T) -> SimpleExpr
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'"
);Sourcefn not_like<T>(&self, s: T) -> SimpleExpr
fn not_like<T>(&self, s: T) -> SimpleExpr
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'"
);Sourcefn starts_with<T>(&self, s: T) -> SimpleExpr
fn starts_with<T>(&self, s: T) -> SimpleExpr
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%'"
);Sourcefn ends_with<T>(&self, s: T) -> SimpleExpr
fn ends_with<T>(&self, s: T) -> SimpleExpr
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'"
);Sourcefn contains<T>(&self, s: T) -> SimpleExpr
fn contains<T>(&self, s: T) -> SimpleExpr
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%'"
);Sourcefn max(&self) -> SimpleExpr
fn max(&self) -> SimpleExpr
See also SeaQuery’s method with same name.
Sourcefn min(&self) -> SimpleExpr
fn min(&self) -> SimpleExpr
See also SeaQuery’s method with same name.
Sourcefn sum(&self) -> SimpleExpr
fn sum(&self) -> SimpleExpr
See also SeaQuery’s method with same name.
Sourcefn count(&self) -> SimpleExpr
fn count(&self) -> SimpleExpr
See also SeaQuery’s method with same name.
Sourcefn is_null(&self) -> SimpleExpr
fn is_null(&self) -> SimpleExpr
See also SeaQuery’s method with same name.
Sourcefn is_not_null(&self) -> SimpleExpr
fn is_not_null(&self) -> SimpleExpr
See also SeaQuery’s method with same name.
Sourcefn if_null<V>(&self, v: V) -> SimpleExpr
fn if_null<V>(&self, v: V) -> SimpleExpr
Perform an operation if the column is null
fn is_in<V, I>(&self, v: I) -> SimpleExpr
fn is_not_in<V, I>(&self, v: I) -> SimpleExpr
fn in_subquery(&self, s: SelectStatement) -> SimpleExpr
fn not_in_subquery(&self, s: SelectStatement) -> SimpleExpr
Sourcefn into_expr(self) -> Expr
fn into_expr(self) -> Expr
Construct a SimpleExpr::Column wrapped in Expr.
Sourcefn select_as(&self, expr: Expr) -> SimpleExpr
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.
Sourcefn select_enum_as(&self, expr: Expr) -> SimpleExpr
fn select_enum_as(&self, expr: Expr) -> SimpleExpr
Cast enum column as text; do nothing if self is not an enum.
Sourcefn save_as(&self, val: Expr) -> SimpleExpr
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.
Sourcefn save_enum_as(&self, val: Expr) -> SimpleExpr
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.