diff --git a/examples/sqlx-mysql/src/main.rs b/examples/sqlx-mysql/src/main.rs index a98f538f..205540d4 100644 --- a/examples/sqlx-mysql/src/main.rs +++ b/examples/sqlx-mysql/src/main.rs @@ -58,7 +58,10 @@ async fn find_all(db: &Database) -> Result<(), QueryErr> { async fn find_together(db: &Database) -> Result<(), QueryErr> { print!("find cakes and fruits: "); - let both = cake::Entity::find().left_join_and_select(fruit::Entity).all(db).await?; + let both = cake::Entity::find() + .left_join_and_select(fruit::Entity) + .all(db) + .await?; println!(); for bb in both.iter() { diff --git a/src/connector/select.rs b/src/connector/select.rs index ecb7285c..810e93cd 100644 --- a/src/connector/select.rs +++ b/src/connector/select.rs @@ -1,5 +1,7 @@ use crate::query::combine; -use crate::{Connection, Database, EntityTrait, FromQueryResult, QueryErr, Select, SelectTwo, Statement}; +use crate::{ + Connection, Database, EntityTrait, FromQueryResult, QueryErr, Select, SelectTwo, Statement, +}; use sea_query::{QueryBuilder, SelectStatement}; use std::marker::PhantomData; @@ -115,7 +117,10 @@ where let builder = db.get_query_builder_backend(); self.query.limit(1); let row = db.get_connection().query_one(self.build(builder)).await?; - Ok((M::from_query_result(&row, combine::SELECT_A)?, N::from_query_result(&row, combine::SELECT_B)?)) + Ok(( + M::from_query_result(&row, combine::SELECT_A)?, + N::from_query_result(&row, combine::SELECT_B)?, + )) } pub async fn all(self, db: &Database) -> Result, QueryErr> { @@ -123,7 +128,10 @@ where let rows = db.get_connection().query_all(self.build(builder)).await?; let mut models = Vec::new(); for row in rows.into_iter() { - models.push((M::from_query_result(&row, combine::SELECT_A)?, N::from_query_result(&row, combine::SELECT_B)?)); + models.push(( + M::from_query_result(&row, combine::SELECT_A)?, + N::from_query_result(&row, combine::SELECT_B)?, + )); } Ok(models) } diff --git a/src/query/combine.rs b/src/query/combine.rs index d94572e3..757fa3ee 100644 --- a/src/query/combine.rs +++ b/src/query/combine.rs @@ -71,7 +71,7 @@ where #[cfg(test)] mod tests { use crate::tests_cfg::{cake, fruit}; - use crate::{EntityTrait, ColumnTrait, QueryHelper}; + use crate::{ColumnTrait, EntityTrait, QueryHelper}; use sea_query::MysqlQueryBuilder; #[test] diff --git a/src/query/helper.rs b/src/query/helper.rs index b1ba60e3..fd7c8cb8 100644 --- a/src/query/helper.rs +++ b/src/query/helper.rs @@ -7,6 +7,7 @@ use std::rc::Rc; pub trait QueryHelper: Sized { fn query(&mut self) -> &mut SelectStatement; + /// Clear the selection list fn select_only(mut self) -> Self { self.query().clear_selects(); self diff --git a/src/query/join.rs b/src/query/join.rs index 626ddc28..57b1d377 100644 --- a/src/query/join.rs +++ b/src/query/join.rs @@ -1,6 +1,6 @@ use crate::{ ColumnTrait, EntityTrait, Identity, Iterable, ModelTrait, PrimaryKeyOfModel, QueryHelper, - Related, RelationDef, Select, SelectTwo + Related, RelationDef, Select, SelectTwo, }; pub use sea_query::JoinType; @@ -11,6 +11,7 @@ impl Select where E: EntityTrait, { + /// Apply a where condition using the model's primary key pub fn belongs_to(self, model: &R::Model) -> Self where R: EntityTrait + Related,