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
fn build<R: NamedRow<DB>>(row: &R) -> Result<Self>
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]
T: QueryableByName<DB>,
DB: Backend,
impl<A, __DB> QueryableByName<__DB> for (A,) where
__DB: Backend,
A: QueryableByName<__DB>,
[src]
__DB: Backend,
A: QueryableByName<__DB>,
impl<A, B, __DB> QueryableByName<__DB> for (A, B) where
__DB: Backend,
A: QueryableByName<__DB>,
B: QueryableByName<__DB>,
[src]
__DB: Backend,
A: QueryableByName<__DB>,
B: QueryableByName<__DB>,
impl<A, B, C, __DB> QueryableByName<__DB> for (A, B, C) where
__DB: Backend,
A: QueryableByName<__DB>,
B: QueryableByName<__DB>,
C: QueryableByName<__DB>,
[src]
__DB: Backend,
A: QueryableByName<__DB>,
B: QueryableByName<__DB>,
C: QueryableByName<__DB>,
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]
__DB: Backend,
A: QueryableByName<__DB>,
B: QueryableByName<__DB>,
C: QueryableByName<__DB>,
D: QueryableByName<__DB>,
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]
__DB: Backend,
A: QueryableByName<__DB>,
B: QueryableByName<__DB>,
C: QueryableByName<__DB>,
D: QueryableByName<__DB>,
E: QueryableByName<__DB>,
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]
__DB: Backend,
A: QueryableByName<__DB>,
B: QueryableByName<__DB>,
C: QueryableByName<__DB>,
D: QueryableByName<__DB>,
E: QueryableByName<__DB>,
F: QueryableByName<__DB>,
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]
__DB: Backend,
A: QueryableByName<__DB>,
B: QueryableByName<__DB>,
C: QueryableByName<__DB>,
D: QueryableByName<__DB>,
E: QueryableByName<__DB>,
F: QueryableByName<__DB>,
G: QueryableByName<__DB>,
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]
__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>,
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]
__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>,
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]
__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>,
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]
__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>,
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]
__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>,
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]
__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>,
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]
__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>,
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]
__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>,
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]
__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>,