Struct sea_orm::SelectorRaw [−][src]
pub struct SelectorRaw<S> where
S: SelectorTrait, { /* fields omitted */ }
Implementations
use sea_orm::{entity::*, query::*, tests_cfg::cake, FromQueryResult};
#[derive(Debug, PartialEq, FromQueryResult)]
struct SelectResult {
name: String,
num_of_cakes: i32,
}
let res: Vec<SelectResult> = cake::Entity::find().from_raw_sql(
Statement::from_sql_and_values(
DbBackend::Postgres, r#"SELECT "cake"."name", count("cake"."id") AS "num_of_cakes" FROM "cake""#, vec![]
)
)
.into_model::<SelectResult>()
.all(&db)
.await?;
assert_eq!(
res,
vec![
SelectResult {
name: "Chocolate Forest".to_owned(),
num_of_cakes: 1,
},
SelectResult {
name: "New York Cheese".to_owned(),
num_of_cakes: 1,
},
]
);
assert_eq!(
db.into_transaction_log(),
vec![
Transaction::from_sql_and_values(
DbBackend::Postgres, r#"SELECT "cake"."name", count("cake"."id") AS "num_of_cakes" FROM "cake""#, vec![]
),
]);
use sea_orm::{entity::*, query::*, tests_cfg::cake};
let res: Vec<serde_json::Value> = cake::Entity::find().from_raw_sql(
Statement::from_sql_and_values(
DbBackend::Postgres, r#"SELECT "cake"."id", "cake"."name" FROM "cake""#, vec![]
)
)
.into_json()
.all(&db)
.await?;
assert_eq!(
res,
vec![
serde_json::json!({
"name": "Chocolate Forest",
"num_of_cakes": 1,
}),
serde_json::json!({
"name": "New York Cheese",
"num_of_cakes": 1,
}),
]
);
assert_eq!(
db.into_transaction_log(),
vec![
Transaction::from_sql_and_values(
DbBackend::Postgres, r#"SELECT "cake"."id", "cake"."name" FROM "cake""#, vec![]
),
]);
use sea_orm::{entity::*, query::*, tests_cfg::cake};
let _: Option<cake::Model> = cake::Entity::find().from_raw_sql(
Statement::from_sql_and_values(
DbBackend::Postgres, r#"SELECT "cake"."id", "cake"."name" FROM "cake" WHERE "id" = $1"#, vec![1.into()]
)
).one(&db).await?;
assert_eq!(
db.into_transaction_log(),
vec![
Transaction::from_sql_and_values(
DbBackend::Postgres, r#"SELECT "cake"."id", "cake"."name" FROM "cake" WHERE "id" = $1"#, vec![1.into()]
),
]);
use sea_orm::{entity::*, query::*, tests_cfg::cake};
let _: Vec<cake::Model> = cake::Entity::find().from_raw_sql(
Statement::from_sql_and_values(
DbBackend::Postgres, r#"SELECT "cake"."id", "cake"."name" FROM "cake""#, vec![]
)
).all(&db).await?;
assert_eq!(
db.into_transaction_log(),
vec![
Transaction::from_sql_and_values(
DbBackend::Postgres, r#"SELECT "cake"."id", "cake"."name" FROM "cake""#, vec![]
),
]);
Trait Implementations
Auto Trait Implementations
impl<S> RefUnwindSafe for SelectorRaw<S> where
S: RefUnwindSafe,
impl<S> Send for SelectorRaw<S> where
S: Send,
impl<S> Sync for SelectorRaw<S> where
S: Sync,
impl<S> Unpin for SelectorRaw<S> where
S: Unpin,
impl<S> UnwindSafe for SelectorRaw<S> where
S: UnwindSafe,
Blanket Implementations
Mutably borrows from an owned value. Read more
type Output = T
type Output = T
Should always be Self