# Has Many

pub struct Hero {
    ...
    pub enemies: HasMany<enemy, enemy::hero, Enemy>
}

HasMany fields are pure abstraction - that is they result in no change to the underlying Diesel model at compile time. HasManys only serve to generate resolvers capable of returning more than one model at a time.

In the example above, HasMany takes the enemy schema, the matching forign key and the Enemy Diesel model.