Trait diesel::query_source::QueryableByName [] [src]

pub trait QueryableByName<DB> where
    Self: Sized,
    DB: Backend
{ fn build<R: NamedRow<DB>>(row: &R) -> Result<Self, Box<Error + Send + Sync>>; }

Deserializes the result of a query constructed with sql_query.

Deriving

To derive this trait, Diesel needs to know the SQL type of each field. You can do this by either annotating your struct with #[table_name = "some_table"] (in which case the SQL type will be diesel::dsl::SqlTypeOf<table_name::column_name>), or by annotating each field with #[sql_type = "SomeType"].

If you are using #[table_name], the module for that table must be in scope. For example, to derive this for a struct called User, you will likely need a line such as use schema::users;

If the name of a field on your struct is different than the column in your table! declaration, or if you are deriving this trait on a tuple struct, you can annotate the field with #[column_name = "some_column"]. For tuple structs, all fields must have this annotation.

If a field is another struct which implements QueryableByName, instead of a column, you can annotate that struct with #[diesel(embed)]

Required Methods

Construct an instance of Self from the database row

Implementations on Foreign Types

impl<T, DB> QueryableByName<DB> for Option<T> where
    T: QueryableByName<DB>,
    DB: Backend
[src]

[src]

impl<A, DB> QueryableByName<DB> for (A,) where
    DB: Backend,
    A: QueryableByName<DB>, 
[src]

[src]

impl<A, B, DB> QueryableByName<DB> for (A, B) where
    DB: Backend,
    A: QueryableByName<DB>,
    B: QueryableByName<DB>, 
[src]

[src]

impl<A, B, C, DB> QueryableByName<DB> for (A, B, C) where
    DB: Backend,
    A: QueryableByName<DB>,
    B: QueryableByName<DB>,
    C: QueryableByName<DB>, 
[src]

[src]

impl<A, B, C, D, DB> QueryableByName<DB> for (A, B, C, D) where
    DB: Backend,
    A: QueryableByName<DB>,
    B: QueryableByName<DB>,
    C: QueryableByName<DB>,
    D: QueryableByName<DB>, 
[src]

[src]

impl<A, B, C, D, E, DB> QueryableByName<DB> for (A, B, C, D, E) where
    DB: Backend,
    A: QueryableByName<DB>,
    B: QueryableByName<DB>,
    C: QueryableByName<DB>,
    D: QueryableByName<DB>,
    E: QueryableByName<DB>, 
[src]

[src]

impl<A, B, C, D, E, F, DB> QueryableByName<DB> for (A, B, C, D, E, F) where
    DB: Backend,
    A: QueryableByName<DB>,
    B: QueryableByName<DB>,
    C: QueryableByName<DB>,
    D: QueryableByName<DB>,
    E: QueryableByName<DB>,
    F: QueryableByName<DB>, 
[src]

[src]

impl<A, B, C, D, E, F, G, DB> QueryableByName<DB> for (A, B, C, D, E, F, G) where
    DB: Backend,
    A: QueryableByName<DB>,
    B: QueryableByName<DB>,
    C: QueryableByName<DB>,
    D: QueryableByName<DB>,
    E: QueryableByName<DB>,
    F: QueryableByName<DB>,
    G: QueryableByName<DB>, 
[src]

[src]

impl<A, B, C, D, E, F, G, H, DB> QueryableByName<DB> for (A, B, C, D, E, F, G, H) where
    DB: Backend,
    A: QueryableByName<DB>,
    B: QueryableByName<DB>,
    C: QueryableByName<DB>,
    D: QueryableByName<DB>,
    E: QueryableByName<DB>,
    F: QueryableByName<DB>,
    G: QueryableByName<DB>,
    H: QueryableByName<DB>, 
[src]

[src]

impl<A, B, C, D, E, F, G, H, I, DB> QueryableByName<DB> for (A, B, C, D, E, F, G, H, I) where
    DB: Backend,
    A: QueryableByName<DB>,
    B: QueryableByName<DB>,
    C: QueryableByName<DB>,
    D: QueryableByName<DB>,
    E: QueryableByName<DB>,
    F: QueryableByName<DB>,
    G: QueryableByName<DB>,
    H: QueryableByName<DB>,
    I: QueryableByName<DB>, 
[src]

[src]

impl<A, B, C, D, E, F, G, H, I, J, DB> QueryableByName<DB> for (A, B, C, D, E, F, G, H, I, J) where
    DB: Backend,
    A: QueryableByName<DB>,
    B: QueryableByName<DB>,
    C: QueryableByName<DB>,
    D: QueryableByName<DB>,
    E: QueryableByName<DB>,
    F: QueryableByName<DB>,
    G: QueryableByName<DB>,
    H: QueryableByName<DB>,
    I: QueryableByName<DB>,
    J: QueryableByName<DB>, 
[src]

[src]

impl<A, B, C, D, E, F, G, H, I, J, K, DB> QueryableByName<DB> for (A, B, C, D, E, F, G, H, I, J, K) where
    DB: Backend,
    A: QueryableByName<DB>,
    B: QueryableByName<DB>,
    C: QueryableByName<DB>,
    D: QueryableByName<DB>,
    E: QueryableByName<DB>,
    F: QueryableByName<DB>,
    G: QueryableByName<DB>,
    H: QueryableByName<DB>,
    I: QueryableByName<DB>,
    J: QueryableByName<DB>,
    K: QueryableByName<DB>, 
[src]

[src]

impl<A, B, C, D, E, F, G, H, I, J, K, L, DB> QueryableByName<DB> for (A, B, C, D, E, F, G, H, I, J, K, L) where
    DB: Backend,
    A: QueryableByName<DB>,
    B: QueryableByName<DB>,
    C: QueryableByName<DB>,
    D: QueryableByName<DB>,
    E: QueryableByName<DB>,
    F: QueryableByName<DB>,
    G: QueryableByName<DB>,
    H: QueryableByName<DB>,
    I: QueryableByName<DB>,
    J: QueryableByName<DB>,
    K: QueryableByName<DB>,
    L: QueryableByName<DB>, 
[src]

[src]

impl<A, B, C, D, E, F, G, H, I, J, K, L, M, DB> QueryableByName<DB> for (A, B, C, D, E, F, G, H, I, J, K, L, M) where
    DB: Backend,
    A: QueryableByName<DB>,
    B: QueryableByName<DB>,
    C: QueryableByName<DB>,
    D: QueryableByName<DB>,
    E: QueryableByName<DB>,
    F: QueryableByName<DB>,
    G: QueryableByName<DB>,
    H: QueryableByName<DB>,
    I: QueryableByName<DB>,
    J: QueryableByName<DB>,
    K: QueryableByName<DB>,
    L: QueryableByName<DB>,
    M: QueryableByName<DB>, 
[src]

[src]

impl<A, B, C, D, E, F, G, H, I, J, K, L, M, N, DB> QueryableByName<DB> for (A, B, C, D, E, F, G, H, I, J, K, L, M, N) where
    DB: Backend,
    A: QueryableByName<DB>,
    B: QueryableByName<DB>,
    C: QueryableByName<DB>,
    D: QueryableByName<DB>,
    E: QueryableByName<DB>,
    F: QueryableByName<DB>,
    G: QueryableByName<DB>,
    H: QueryableByName<DB>,
    I: QueryableByName<DB>,
    J: QueryableByName<DB>,
    K: QueryableByName<DB>,
    L: QueryableByName<DB>,
    M: QueryableByName<DB>,
    N: QueryableByName<DB>, 
[src]

[src]

impl<A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, DB> QueryableByName<DB> for (A, B, C, D, E, F, G, H, I, J, K, L, M, N, O) where
    DB: Backend,
    A: QueryableByName<DB>,
    B: QueryableByName<DB>,
    C: QueryableByName<DB>,
    D: QueryableByName<DB>,
    E: QueryableByName<DB>,
    F: QueryableByName<DB>,
    G: QueryableByName<DB>,
    H: QueryableByName<DB>,
    I: QueryableByName<DB>,
    J: QueryableByName<DB>,
    K: QueryableByName<DB>,
    L: QueryableByName<DB>,
    M: QueryableByName<DB>,
    N: QueryableByName<DB>,
    O: QueryableByName<DB>, 
[src]

[src]

impl<A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, DB> QueryableByName<DB> for (A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P) where
    DB: Backend,
    A: QueryableByName<DB>,
    B: QueryableByName<DB>,
    C: QueryableByName<DB>,
    D: QueryableByName<DB>,
    E: QueryableByName<DB>,
    F: QueryableByName<DB>,
    G: QueryableByName<DB>,
    H: QueryableByName<DB>,
    I: QueryableByName<DB>,
    J: QueryableByName<DB>,
    K: QueryableByName<DB>,
    L: QueryableByName<DB>,
    M: QueryableByName<DB>,
    N: QueryableByName<DB>,
    O: QueryableByName<DB>,
    P: QueryableByName<DB>, 
[src]

[src]

Implementors