Trait diesel::deserialize::QueryableByName [] [src]

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

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