Skip to main content

HasMany

Trait HasMany 

Source
pub trait HasMany<T: Entity>: Entity {
    // Required method
    fn foreign_key() -> &'static str;

    // Provided method
    fn local_key() -> &'static str { ... }
}
Expand description

一对多关系 trait

定义主实体与从实体的一对多关系

§Example

struct User {
    id: i64,
    posts: Vec<Post>,
}

struct Post {
    id: i64,
    user_id: i64,
}

impl HasMany<Post> for User {
    fn foreign_key() -> &'static str {
        "user_id"
    }

    fn local_key() -> &'static str {
        "id"
    }
}

Required Methods§

Source

fn foreign_key() -> &'static str

外键列名(从表中的列名)

Provided Methods§

Source

fn local_key() -> &'static str

本地键列名(主表中的列名),默认为主键列名

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementors§