Struct RelationBuilder  
pub struct RelationBuilder<E, R>where
    E: EntityTrait,
    R: EntityTrait,{
    entities: PhantomData<(E, R)>,
    rel_type: RelationType,
    from_tbl: TableRef,
    to_tbl: TableRef,
    from_col: Option<Identity>,
    to_col: Option<Identity>,
    is_owner: bool,
    on_delete: Option<ForeignKeyAction>,
    on_update: Option<ForeignKeyAction>,
    on_condition: Option<Box<dyn Fn(SeaRc<dyn Iden>, SeaRc<dyn Iden>) -> Condition + Sync + Send>>,
    fk_name: Option<String>,
    condition_type: ConditionType,
}Expand description
Defines a helper to build a relation
Fields§
§entities: PhantomData<(E, R)>§rel_type: RelationType§from_tbl: TableRef§to_tbl: TableRef§from_col: Option<Identity>§to_col: Option<Identity>§is_owner: bool§on_delete: Option<ForeignKeyAction>§on_update: Option<ForeignKeyAction>§on_condition: Option<Box<dyn Fn(SeaRc<dyn Iden>, SeaRc<dyn Iden>) -> Condition + Sync + Send>>§fk_name: Option<String>§condition_type: ConditionTypeImplementations§
§impl<E, R> RelationBuilder<E, R>where
    E: EntityTrait,
    R: EntityTrait,
 
impl<E, R> RelationBuilder<E, R>where
    E: EntityTrait,
    R: EntityTrait,
pub fn from<T>(self, identifier: T) -> RelationBuilder<E, R>where
    T: IdentityOf<E>,
pub fn from<T>(self, identifier: T) -> RelationBuilder<E, R>where
    T: IdentityOf<E>,
Build a relationship from an Entity
pub fn to<T>(self, identifier: T) -> RelationBuilder<E, R>where
    T: IdentityOf<R>,
pub fn to<T>(self, identifier: T) -> RelationBuilder<E, R>where
    T: IdentityOf<R>,
Build a relationship to an Entity
pub fn on_delete(self, action: ForeignKeyAction) -> RelationBuilder<E, R>
pub fn on_delete(self, action: ForeignKeyAction) -> RelationBuilder<E, R>
An operation to perform on a foreign key when a delete operation occurs
pub fn on_update(self, action: ForeignKeyAction) -> RelationBuilder<E, R>
pub fn on_update(self, action: ForeignKeyAction) -> RelationBuilder<E, R>
An operation to perform on a foreign key when an update operation occurs
pub fn on_condition<F>(self, f: F) -> RelationBuilder<E, R>
pub fn on_condition<F>(self, f: F) -> RelationBuilder<E, R>
Set custom join ON condition.
This method takes a closure with parameters denoting the left-hand side and right-hand side table in the join expression.
pub fn fk_name(self, fk_name: &str) -> RelationBuilder<E, R>
pub fn fk_name(self, fk_name: &str) -> RelationBuilder<E, R>
Set the name of foreign key constraint
pub fn condition_type(
    self,
    condition_type: ConditionType,
) -> RelationBuilder<E, R>
pub fn condition_type( self, condition_type: ConditionType, ) -> RelationBuilder<E, R>
Set the condition type of join on expression
Trait Implementations§
§impl<E, R> Debug for RelationBuilder<E, R>where
    E: EntityTrait,
    R: EntityTrait,
 
impl<E, R> Debug for RelationBuilder<E, R>where
    E: EntityTrait,
    R: EntityTrait,
§impl<E, R> From<RelationBuilder<E, R>> for RelationDefwhere
    E: EntityTrait,
    R: EntityTrait,
 
impl<E, R> From<RelationBuilder<E, R>> for RelationDefwhere
    E: EntityTrait,
    R: EntityTrait,
§fn from(b: RelationBuilder<E, R>) -> RelationDef
 
fn from(b: RelationBuilder<E, R>) -> RelationDef
Converts to this type from the input type.
Auto Trait Implementations§
impl<E, R> Freeze for RelationBuilder<E, R>
impl<E, R> !RefUnwindSafe for RelationBuilder<E, R>
impl<E, R> Send for RelationBuilder<E, R>
impl<E, R> Sync for RelationBuilder<E, R>
impl<E, R> Unpin for RelationBuilder<E, R>
impl<E, R> !UnwindSafe for RelationBuilder<E, R>
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
    T: ?Sized,
 
impl<T> BorrowMut<T> for Twhere
    T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
 
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
§impl<T> Instrument for T
 
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
 
fn instrument(self, span: Span) -> Instrumented<Self>
§fn in_current_span(self) -> Instrumented<Self>
 
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
 
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
 
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
Converts 
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
 
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
Converts 
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more