Order By
This commit is contained in:
parent
8e4271da79
commit
826e59309a
@ -2,7 +2,7 @@ use crate::{EntityTrait, Identity, Iterable, RelationDef, Statement};
|
|||||||
use core::fmt::Debug;
|
use core::fmt::Debug;
|
||||||
use core::marker::PhantomData;
|
use core::marker::PhantomData;
|
||||||
pub use sea_query::JoinType;
|
pub use sea_query::JoinType;
|
||||||
use sea_query::{Expr, Iden, IntoIden, QueryBuilder, SelectStatement, SimpleExpr};
|
use sea_query::{Expr, Iden, IntoIden, Order, QueryBuilder, SelectStatement, SimpleExpr};
|
||||||
use std::rc::Rc;
|
use std::rc::Rc;
|
||||||
|
|
||||||
#[derive(Debug)]
|
#[derive(Debug)]
|
||||||
@ -59,6 +59,16 @@ where
|
|||||||
self
|
self
|
||||||
}
|
}
|
||||||
|
|
||||||
|
pub fn order_by(mut self, col: E::Column) -> Self {
|
||||||
|
self.select.order_by((E::default(), col), Order::Asc);
|
||||||
|
self
|
||||||
|
}
|
||||||
|
|
||||||
|
pub fn order_by_desc(mut self, col: E::Column) -> Self {
|
||||||
|
self.select.order_by((E::default(), col), Order::Desc);
|
||||||
|
self
|
||||||
|
}
|
||||||
|
|
||||||
pub fn left_join(self, relation: RelationDef) -> Self {
|
pub fn left_join(self, relation: RelationDef) -> Self {
|
||||||
self.prepare_join(JoinType::LeftJoin, relation)
|
self.prepare_join(JoinType::LeftJoin, relation)
|
||||||
}
|
}
|
||||||
@ -167,4 +177,22 @@ mod tests {
|
|||||||
"SELECT `cake`.`id`, `cake`.`name` FROM `cake` WHERE `cake`.`id` = 11 LIMIT 1"
|
"SELECT `cake`.`id`, `cake`.`name` FROM `cake` WHERE `cake`.`id` = 11 LIMIT 1"
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#[test]
|
||||||
|
fn test_6() {
|
||||||
|
assert_eq!(
|
||||||
|
cake::Entity::find()
|
||||||
|
.order_by(cake::Column::Id)
|
||||||
|
.build(MysqlQueryBuilder)
|
||||||
|
.to_string(),
|
||||||
|
"SELECT `cake`.`id`, `cake`.`name` FROM `cake` ORDER BY `cake`.`id` ASC"
|
||||||
|
);
|
||||||
|
assert_eq!(
|
||||||
|
cake::Entity::find()
|
||||||
|
.order_by_desc(cake::Column::Id)
|
||||||
|
.build(MysqlQueryBuilder)
|
||||||
|
.to_string(),
|
||||||
|
"SELECT `cake`.`id`, `cake`.`name` FROM `cake` ORDER BY `cake`.`id` DESC"
|
||||||
|
);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user