Skip to main content

RelationTrait

Derive Macro RelationTrait 

Source
#[derive(RelationTrait)]
{
    // Attributes available to this derive:
    #[relation]
    #[table]
    #[column]
}
Expand description

#[derive(RelationTrait)] โ€” auto-generates a RelationTrait impl (P-F-2, v2.1.0)

Generates a static RelationDef table + impl RelationTrait from #[relation(...)] attributes. Shares attribute parsing with #[derive(Relation)], but generates a zero-allocation static slice instead of a HashMap.

ยงExample

โ“˜
#[derive(RelationTrait)]
#[relation(has_many = "Order", fk = "user_id", pk = "id")]
struct User { id: i64, name: String }

// Auto-generated:
// static RELATIONS: &[RelationDef] = &[RelationDef::new("Order", "users", "orders", "id", "user_id", HasMany)];
// impl RelationTrait for User { ... }