Struct atmosphere::ForeignKey

source ·
pub struct ForeignKey<T>
where T: Table,
{ pub field: &'static str, pub sql: &'static str, /* private fields */ }
Expand description

Represents a foreign key column, establishing a relationship to another table.

Fields§

§field: &'static str

The rust field name of the model

§sql: &'static str

The associated sql column name

Implementations§

source§

impl<T> ForeignKey<T>
where T: Table,

source

pub const fn new(field: &'static str, sql: &'static str) -> ForeignKey<T>

source

pub const fn as_col(&'static self) -> Column<T>

source

pub const unsafe fn transmute<I>(&'static self) -> &'static ForeignKey<I>
where I: Table,

Safety

We do treat this foreign key as a column of another table. This is not smart to do - but can become necessary when doing complex joins. This is memory safe as Self and Self have the exact same memory layout, we do not store any data (A or B) but only a PhantomData instance which is here transmuted.

Trait Implementations§

source§

impl<T> Clone for ForeignKey<T>
where T: Table,

source§

fn clone(&self) -> ForeignKey<T>

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl<T> Debug for ForeignKey<T>
where T: Debug + Table,

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

Formats the value using the given formatter. Read more
source§

impl<T> PartialEq for ForeignKey<T>
where T: PartialEq + Table,

source§

fn eq(&self, other: &ForeignKey<T>) -> bool

This method tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

This method tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
source§

impl<T> Copy for ForeignKey<T>
where T: Copy + Table,

source§

impl<T> Eq for ForeignKey<T>
where T: Eq + Table,

source§

impl<T> StructuralEq for ForeignKey<T>
where T: Table,

source§

impl<T> StructuralPartialEq for ForeignKey<T>
where T: Table,

Auto Trait Implementations§

§

impl<T> RefUnwindSafe for ForeignKey<T>
where T: RefUnwindSafe,

§

impl<T> Send for ForeignKey<T>

§

impl<T> Sync for ForeignKey<T>
where T: Sync,

§

impl<T> Unpin for ForeignKey<T>
where T: Unpin,

§

impl<T> UnwindSafe for ForeignKey<T>
where T: UnwindSafe,

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
§

impl<Q, K> Equivalent<K> for Q
where Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,

§

fn equivalent(&self, key: &K) -> bool

Checks if this value is equivalent to the given key. Read more
§

impl<Q, K> Equivalent<K> for Q
where Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,

§

fn equivalent(&self, key: &K) -> bool

Compare self to key and return true if they are equal.
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

§

impl<T> Instrument for T

§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided [Span], returning an Instrumented wrapper. Read more
§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
source§

impl<T, U> Into<U> for T
where U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

source§

impl<T> Same for T

§

type Output = T

Should always be Self
source§

impl<T> ToOwned for T
where T: Clone,

§

type Owned = T

The resulting type after obtaining ownership.
source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

§

fn vzip(self) -> V

§

impl<T> WithSubscriber for T

§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a [WithDispatch] wrapper. Read more
§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a [WithDispatch] wrapper. Read more