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§
type EntityName: EntityName
Required Methods§
Provided Methods§
Sourcefn entity_name(&self) -> DynIden
fn entity_name(&self) -> DynIden
Get the name of the entity the column belongs to
Sourcefn as_column_ref(&self) -> (DynIden, DynIden)
fn as_column_ref(&self) -> (DynIden, DynIden)
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 into_returning_expr(self, db_backend: DbBackend) -> Expr
fn into_returning_expr(self, db_backend: DbBackend) -> Expr
Construct a returning 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.