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
fn build<R: NamedRow<DB>>(row: &R) -> Result<Self, Box<Error + Send + Sync>>
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>,