Rename
This commit is contained in:
parent
7bb521fad2
commit
c72d7b0289
@ -18,7 +18,7 @@ macro_rules! bind_oper {
|
||||
pub trait ColumnTrait: Iden + Copy + Debug + 'static {
|
||||
type Entity: EntityTrait;
|
||||
|
||||
fn col_type(&self) -> ColumnType;
|
||||
fn def(&self) -> ColumnType;
|
||||
|
||||
fn entity_iden(&self) -> Rc<dyn Iden> {
|
||||
Rc::new(Self::Entity::default()) as Rc<dyn Iden>
|
||||
|
@ -11,17 +11,21 @@ pub enum RelationType {
|
||||
}
|
||||
|
||||
pub trait RelationTrait: Debug + 'static {
|
||||
fn rel_def(&self) -> RelationDef;
|
||||
fn def(&self) -> RelationDef;
|
||||
}
|
||||
|
||||
pub trait Related<R>
|
||||
where
|
||||
R: EntityTrait,
|
||||
{
|
||||
fn via() -> RelationDef;
|
||||
fn to() -> RelationDef;
|
||||
|
||||
fn via() -> Option<RelationDef> {
|
||||
None
|
||||
}
|
||||
|
||||
fn find_related() -> Select<R> {
|
||||
Select::<R>::new().prepare_reverse_join(Self::via())
|
||||
Select::<R>::new().prepare_reverse_join(Self::to())
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -120,22 +120,22 @@ where
|
||||
}
|
||||
|
||||
pub fn left_join(self, rel: E::Relation) -> Self {
|
||||
self.prepare_join(JoinType::LeftJoin, E::Relation::rel_def(&rel))
|
||||
self.prepare_join(JoinType::LeftJoin, E::Relation::def(&rel))
|
||||
}
|
||||
|
||||
pub fn right_join(self, rel: E::Relation) -> Self {
|
||||
self.prepare_join(JoinType::RightJoin, E::Relation::rel_def(&rel))
|
||||
self.prepare_join(JoinType::RightJoin, E::Relation::def(&rel))
|
||||
}
|
||||
|
||||
pub fn inner_join(self, rel: E::Relation) -> Self {
|
||||
self.prepare_join(JoinType::InnerJoin, E::Relation::rel_def(&rel))
|
||||
self.prepare_join(JoinType::InnerJoin, E::Relation::def(&rel))
|
||||
}
|
||||
|
||||
pub fn reverse_join<R>(self, rel: R) -> Self
|
||||
where
|
||||
R: RelationTrait,
|
||||
{
|
||||
self.prepare_reverse_join(rel.rel_def())
|
||||
self.prepare_reverse_join(rel.def())
|
||||
}
|
||||
|
||||
/// Get a mutable ref to the query builder
|
||||
|
@ -48,7 +48,7 @@ impl ModelTrait for Model {
|
||||
impl ColumnTrait for Column {
|
||||
type Entity = Entity;
|
||||
|
||||
fn col_type(&self) -> ColumnType {
|
||||
fn def(&self) -> ColumnType {
|
||||
match self {
|
||||
Self::Id => ColumnType::Integer(None),
|
||||
Self::Name => ColumnType::String(None),
|
||||
@ -57,7 +57,7 @@ impl ColumnTrait for Column {
|
||||
}
|
||||
|
||||
impl RelationTrait for Relation {
|
||||
fn rel_def(&self) -> RelationDef {
|
||||
fn def(&self) -> RelationDef {
|
||||
match self {
|
||||
Self::Fruit => Entity::has_many(super::fruit::Entity)
|
||||
.from(Column::Id)
|
||||
@ -68,8 +68,8 @@ impl RelationTrait for Relation {
|
||||
}
|
||||
|
||||
impl Related<super::fruit::Entity> for Entity {
|
||||
fn via() -> RelationDef {
|
||||
Relation::Fruit.rel_def()
|
||||
fn to() -> RelationDef {
|
||||
Relation::Fruit.def()
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -49,7 +49,7 @@ impl ModelTrait for Model {
|
||||
impl ColumnTrait for Column {
|
||||
type Entity = Entity;
|
||||
|
||||
fn col_type(&self) -> ColumnType {
|
||||
fn def(&self) -> ColumnType {
|
||||
match self {
|
||||
Self::Id => ColumnType::Integer(None),
|
||||
Self::Name => ColumnType::String(None),
|
||||
@ -59,7 +59,7 @@ impl ColumnTrait for Column {
|
||||
}
|
||||
|
||||
impl RelationTrait for Relation {
|
||||
fn rel_def(&self) -> RelationDef {
|
||||
fn def(&self) -> RelationDef {
|
||||
panic!()
|
||||
}
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user