Struct sea_query::query::Condition [−][src]
pub struct Condition { /* fields omitted */ }
Expand description
Represents the value of an Condition::any
or Condition::all
: a set of disjunctive or conjunctive conditions.
Implementations
Add a condition to the set.
If it’s an Condition::any
, it will be separated from the others by an " OR "
in the query. If it’s
an Condition::all
, it will be separated by an " AND "
.
Add an optional condition to the set.
Shorthand for if o.is_some() { self.add(o) }
Create a condition that is true if any of the conditions is true.
Examples
use sea_query::{*, tests_cfg::*}; let query = Query::select() .column(Glyph::Image) .from(Glyph::Table) .cond_where( Cond::any() .add(Expr::tbl(Glyph::Table, Glyph::Aspect).is_in(vec![3, 4])) .add(Expr::tbl(Glyph::Table, Glyph::Image).like("A%")) ) .to_owned(); assert_eq!( query.to_string(MysqlQueryBuilder), r#"SELECT `image` FROM `glyph` WHERE `glyph`.`aspect` IN (3, 4) OR `glyph`.`image` LIKE 'A%'"# );
Create a condition that is false if any of the conditions is false.
Examples
use sea_query::{*, tests_cfg::*}; let query = Query::select() .column(Glyph::Image) .from(Glyph::Table) .cond_where( Cond::all() .add(Expr::tbl(Glyph::Table, Glyph::Aspect).is_in(vec![3, 4])) .add(Expr::tbl(Glyph::Table, Glyph::Image).like("A%")) ) .to_owned(); assert_eq!( query.to_string(MysqlQueryBuilder), r#"SELECT `image` FROM `glyph` WHERE `glyph`.`aspect` IN (3, 4) AND `glyph`.`image` LIKE 'A%'"# );
Trait Implementations
Auto Trait Implementations
impl !RefUnwindSafe for Condition
impl !UnwindSafe for Condition
Blanket Implementations
Mutably borrows from an owned value. Read more
type Output = T
type Output = T
Should always be Self
pub fn vzip(self) -> V