Trait diesel::expression::AsExpression [] [src]

pub trait AsExpression<T> {
    type Expression: Expression<SqlType = T>;
    fn as_expression(self) -> Self::Expression;
}

Converts a type to its representation for use in Diesel's query builder.

This trait is used directly. Apps should typically use IntoSql instead.

Implementations of this trait will generally do one of 3 things:

Deriving

This trait can be automatically derived for any type which implements ToSql. The type must be annotated with #[sql_type = "SomeType"]. If that annotation appears multiple times, implementations will be generated for each one of them.

This will generate the following impls:

If your type is unsized, you can specify this by adding the annotation #[diesel(not_sized)]. This will skip the impls for non-reference types.

Associated Types

The expression being returned

Required Methods

Perform the conversion

Implementations on Foreign Types

impl<'a, 'b, ST, T> AsExpression<Array<ST>> for &'a [T]
[src]

[src]

impl<'a, 'b, ST, T> AsExpression<Nullable<Array<ST>>> for &'a [T]
[src]

[src]

impl<'a, 'b, ST, T> AsExpression<Array<ST>> for Vec<T>
[src]

[src]

impl<'a, 'b, ST, T> AsExpression<Nullable<Array<ST>>> for Vec<T>
[src]

[src]

impl<'a, 'b, ST, T> AsExpression<Array<ST>> for &'a Vec<T>
[src]

[src]

impl<'a, 'b, ST, T> AsExpression<Nullable<Array<ST>>> for &'a Vec<T>
[src]

[src]

impl<ST, T> AsExpression<Range<ST>> for (Bound<T>, Bound<T>)
[src]

[src]

impl<ST, T> AsExpression<Nullable<Range<ST>>> for (Bound<T>, Bound<T>)
[src]

[src]

impl<T, ST> AsExpression<Nullable<ST>> for Option<T> where
    ST: NotNull
[src]

[src]

impl<'a, T, ST> AsExpression<Nullable<ST>> for &'a Option<T> where
    ST: NotNull
[src]

[src]

impl<'a, T: ?Sized, ST> AsExpression<ST> for Cow<'a, T> where
    T: 'a + ToOwned,
    Bound<ST, Cow<'a, T>>: Expression<SqlType = ST>, 
[src]

[src]

impl<'a, 'b, T: ?Sized, ST> AsExpression<ST> for &'b Cow<'a, T> where
    T: 'a + ToOwned,
    Bound<ST, &'b T>: Expression<SqlType = ST>, 
[src]

[src]

Implementors