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§
§impl<U> As for U
impl<U> As for U
§fn as_<T>(self) -> Twhere
T: CastFrom<U>,
fn as_<T>(self) -> Twhere
T: CastFrom<U>,
Casts
self to type T. The semantics of numeric casting with the as operator are followed, so <T as As>::as_::<U> can be used in the same way as T as U for numeric conversions. Read moreSource§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> Downcast for Twhere
T: AsAny + ?Sized,
impl<T> Downcast for Twhere
T: AsAny + ?Sized,
§fn downcast_ref<T>(&self) -> Option<&T>where
T: AsAny,
fn downcast_ref<T>(&self) -> Option<&T>where
T: AsAny,
Forward to the method defined on the type
Any.§fn downcast_mut<T>(&mut self) -> Option<&mut T>where
T: AsAny,
fn downcast_mut<T>(&mut self) -> Option<&mut T>where
T: AsAny,
Forward to the method defined on the type
Any.§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§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
Wrap the input message
T in a tonic::Request§impl<L> LayerExt<L> for L
impl<L> LayerExt<L> for L
§fn named_layer<S>(&self, service: S) -> Layered<<L as Layer<S>>::Service, S>where
L: Layer<S>,
fn named_layer<S>(&self, service: S) -> Layered<<L as Layer<S>>::Service, S>where
L: Layer<S>,
Applies the layer to a service and wraps it in [
Layered].