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