pub struct DbJoin {
pub offset: i64,
pub limit: i64,
pub sorting: Vec<String>,
/* private fields */
}Expand description
This struct is used to create a join between DbEntyty elements and JoinBuilder is used to create a DbJoin instance.
sorting parameter (such as vec![“data->>‘first_name’”, “data->>‘last_name’ DESC”]) take effect after a call to fetch method.
items can be persisted to db after a call to save_items method.
See JoinBuilder for more info
Fields§
§offset: i64The offset of the extracted query join
limit: i64The limit of the extracted query join. If limit is negative it means “no limit”
sorting: Vec<String>Used to provide a sorting method on data fetching.
vec!["data->>'first_name'", "data->>'last_name' DESC"];Implementations§
Source§impl DbJoin
impl DbJoin
Sourcepub async fn fetch<A>(
&self,
conn: &Connection,
) -> Result<Vec<DbEntity<A>>, DbError>where
A: DbData,
pub async fn fetch<A>(
&self,
conn: &Connection,
) -> Result<Vec<DbEntity<A>>, DbError>where
A: DbData,
This method fetches items field for the given join using the current sorting field.
Sourcepub async fn fetch_filtered<A>(
&self,
conn: &Connection,
filter: (&str, &[&(dyn ToSql + Sync)]),
) -> Result<Vec<DbEntity<A>>, DbError>where
A: DbData,
pub async fn fetch_filtered<A>(
&self,
conn: &Connection,
filter: (&str, &[&(dyn ToSql + Sync)]),
) -> Result<Vec<DbEntity<A>>, DbError>where
A: DbData,
This method fetches items field for the given join using the current sorting field.
Filter is a tuple with the query filter and its values.
The target table is aliased with “a” name so a query filter could be "a.data->>'name' LIKE $1"
Sourcepub async fn add_items<A>(
&self,
conn: &mut Connection,
items: &[&DbEntity<A>],
) -> Result<(), DbError>where
A: DbData,
pub async fn add_items<A>(
&self,
conn: &mut Connection,
items: &[&DbEntity<A>],
) -> Result<(), DbError>where
A: DbData,
This method adds items for the given join to the DB.
Sourcepub async fn add_items_by_id(
&self,
conn: &mut Connection,
items: &[&Uuid],
) -> Result<(), DbError>
pub async fn add_items_by_id( &self, conn: &mut Connection, items: &[&Uuid], ) -> Result<(), DbError>
This method adds items for the given join to the DB using object ids.
Sourcepub async fn remove_items<A>(
&self,
conn: &mut Connection,
items: Option<&[&DbEntity<A>]>,
) -> Result<(), DbError>where
A: DbData,
pub async fn remove_items<A>(
&self,
conn: &mut Connection,
items: Option<&[&DbEntity<A>]>,
) -> Result<(), DbError>where
A: DbData,
This method removes items for the given join to the DB.
Sourcepub async fn remove_items_by_id(
&self,
conn: &mut Connection,
items_id: Option<&[Uuid]>,
) -> Result<(), DbError>
pub async fn remove_items_by_id( &self, conn: &mut Connection, items_id: Option<&[Uuid]>, ) -> Result<(), DbError>
This method removes items for the given join to the DB using object ids.