FromQueryResult

Trait FromQueryResult 

Source
pub trait FromQueryResult: Sized {
    // Required method
    fn from_query_result(res: &QueryResult, pre: &str) -> Result<Self, DbErr>;

    // Provided methods
    fn from_query_result_optional(
        res: &QueryResult,
        pre: &str,
    ) -> Result<Option<Self>, DbErr> { ... }
    fn from_query_result_nullable(
        res: &QueryResult,
        pre: &str,
    ) -> Result<Self, TryGetError> { ... }
    fn find_by_statement(stmt: Statement) -> SelectorRaw<SelectModel<Self>> { ... }
}
Expand description

A Trait for implementing a QueryResult

Required Methods§

Source

fn from_query_result(res: &QueryResult, pre: &str) -> Result<Self, DbErr>

Instantiate a Model from a QueryResult

NOTE: Please also override from_query_result_nullable when manually implementing. The future default implementation will be along the lines of:

fn from_query_result(res: &QueryResult, pre: &str) -> Result<Self, DbErr> {
    (Self::from_query_result_nullable(res, pre)?)
}

Provided Methods§

Source

fn from_query_result_optional( res: &QueryResult, pre: &str, ) -> Result<Option<Self>, DbErr>

Transform the error from instantiating a Model from a QueryResult and converting it to an Option

Source

fn from_query_result_nullable( res: &QueryResult, pre: &str, ) -> Result<Self, TryGetError>

Transform the error from instantiating a Model from a QueryResult and converting it to an Option

NOTE: This will most likely stop being a provided method in the next major version!

Source

fn find_by_statement(stmt: Statement) -> SelectorRaw<SelectModel<Self>>

use sea_orm::{query::*, FromQueryResult};

#[derive(Debug, PartialEq, FromQueryResult)]
struct SelectResult {
    name: String,
    num_of_cakes: i32,
}

let res: Vec<SelectResult> = SelectResult::find_by_statement(Statement::from_sql_and_values(
    DbBackend::Postgres,
    r#"SELECT "name", COUNT(*) AS "num_of_cakes" FROM "cake" GROUP BY("name")"#,
    [],
))
.all(&db)
.await?;

assert_eq!(
    res,
    [SelectResult {
        name: "Chocolate Forest".to_owned(),
        num_of_cakes: 2,
    },]
);

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.

Implementations on Foreign Types§

Source§

impl FromQueryResult for Model

Source§

impl<T> FromQueryResult for Option<T>
where T: FromQueryResult,

Implementors§

Source§

impl FromQueryResult for Value

Source§

impl FromQueryResult for netmito::entity::active_tasks::Model

Source§

impl FromQueryResult for netmito::entity::archived_tasks::Model

Source§

impl FromQueryResult for netmito::entity::artifacts::Model

Source§

impl FromQueryResult for netmito::entity::attachments::Model

Source§

impl FromQueryResult for netmito::entity::group_worker::Model

Source§

impl FromQueryResult for netmito::entity::groups::Model

Source§

impl FromQueryResult for netmito::entity::user_group::Model

Source§

impl FromQueryResult for netmito::entity::users::Model

Source§

impl FromQueryResult for netmito::entity::workers::Model

Source§

impl FromQueryResult for AttachmentQueryInfo

Source§

impl FromQueryResult for CountQuery

Source§

impl FromQueryResult for TaskQueryInfo

Source§

impl FromQueryResult for WorkerQueryInfo