Skip to main content

Module hybrid

Module hybrid 

Source
Expand description

Hybrid properties: values computed in Rust that also have SQL expression equivalents.

A hybrid property can be evaluated in Rust (e.g., user.full_name()) or translated to a SQL expression for use in queries (e.g., User::full_name_expr()first_name || ' ' || last_name).

§Example

#[derive(Model)]
struct User {
    first_name: String,
    last_name: String,

    #[sqlmodel(hybrid, sql = "first_name || ' ' || last_name")]
    full_name: Hybrid<String>,
}

// Rust side: user.full_name holds the computed value
// SQL side: User::full_name_expr() returns Expr::raw("first_name || ' ' || last_name")
//
// Query usage:
// select!(User).filter(User::full_name_expr().eq("John Doe"))

Structs§

Hybrid
A hybrid property wrapper.