Trait photon_indexer::migration::sea_orm::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 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

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 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")"#,
    vec![],
))
.all(&db)
.await?;

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

Object Safety§

This trait is not object safe.

Implementations on Foreign Types§

source§

impl FromQueryResult for Model

Implementors§

source§

impl FromQueryResult for Value

source§

impl FromQueryResult for BalanceModel

source§

impl FromQueryResult for Context

source§

impl FromQueryResult for EnrichedTokenAccountModel

source§

impl FromQueryResult for LamportModel

source§

impl FromQueryResult for SignatureInfoModel

source§

impl FromQueryResult for photon_indexer::dao::generated::account_transactions::Model

source§

impl FromQueryResult for photon_indexer::dao::generated::accounts::Model

source§

impl FromQueryResult for photon_indexer::dao::generated::blocks::Model

source§

impl FromQueryResult for photon_indexer::dao::generated::state_trees::Model

source§

impl FromQueryResult for photon_indexer::dao::generated::token_accounts::Model

source§

impl FromQueryResult for photon_indexer::dao::generated::transactions::Model