Update Entity
This commit is contained in:
parent
4bc7e5da33
commit
c482b0cbc6
@ -1,7 +1,7 @@
|
|||||||
use crate::{
|
use crate::{
|
||||||
ActiveModelTrait, ColumnTrait, FromQueryResult, Insert, ModelTrait, OneOrManyActiveModel,
|
ActiveModelTrait, ColumnTrait, FromQueryResult, Insert, ModelTrait, OneOrManyActiveModel,
|
||||||
PrimaryKeyToColumn, PrimaryKeyTrait, QueryFilter, RelationBuilder, RelationTrait, RelationType,
|
PrimaryKeyToColumn, PrimaryKeyTrait, QueryFilter, RelationBuilder, RelationTrait, RelationType,
|
||||||
Select,
|
Select, Update,
|
||||||
};
|
};
|
||||||
use sea_query::{Iden, IntoValueTuple};
|
use sea_query::{Iden, IntoValueTuple};
|
||||||
use std::fmt::Debug;
|
use std::fmt::Debug;
|
||||||
@ -22,18 +22,18 @@ pub trait EntityTrait: EntityName {
|
|||||||
|
|
||||||
type PrimaryKey: PrimaryKeyTrait + PrimaryKeyToColumn<Column = Self::Column>;
|
type PrimaryKey: PrimaryKeyTrait + PrimaryKeyToColumn<Column = Self::Column>;
|
||||||
|
|
||||||
fn has_one<R>(entity: R) -> RelationBuilder<Self, R>
|
fn has_one<R>(related: R) -> RelationBuilder<Self, R>
|
||||||
where
|
where
|
||||||
R: EntityTrait,
|
R: EntityTrait,
|
||||||
{
|
{
|
||||||
RelationBuilder::new(RelationType::HasOne, Self::default(), entity)
|
RelationBuilder::new(RelationType::HasOne, Self::default(), related)
|
||||||
}
|
}
|
||||||
|
|
||||||
fn has_many<R>(entity: R) -> RelationBuilder<Self, R>
|
fn has_many<R>(related: R) -> RelationBuilder<Self, R>
|
||||||
where
|
where
|
||||||
R: EntityTrait,
|
R: EntityTrait,
|
||||||
{
|
{
|
||||||
RelationBuilder::new(RelationType::HasMany, Self::default(), entity)
|
RelationBuilder::new(RelationType::HasMany, Self::default(), related)
|
||||||
}
|
}
|
||||||
|
|
||||||
/// ```
|
/// ```
|
||||||
@ -113,7 +113,7 @@ pub trait EntityTrait: EntityName {
|
|||||||
/// Insert many
|
/// Insert many
|
||||||
/// ```
|
/// ```
|
||||||
/// use sea_orm::{entity::*, query::*, tests_cfg::cake, sea_query::PostgresQueryBuilder};
|
/// use sea_orm::{entity::*, query::*, tests_cfg::cake, sea_query::PostgresQueryBuilder};
|
||||||
///
|
///
|
||||||
/// let apple = cake::ActiveModel {
|
/// let apple = cake::ActiveModel {
|
||||||
/// name: Val::set("Apple Pie".to_owned()),
|
/// name: Val::set("Apple Pie".to_owned()),
|
||||||
/// ..Default::default()
|
/// ..Default::default()
|
||||||
@ -166,7 +166,7 @@ pub trait EntityTrait: EntityName {
|
|||||||
|
|
||||||
/// ```
|
/// ```
|
||||||
/// use sea_orm::{entity::*, query::*, tests_cfg::cake, sea_query::PostgresQueryBuilder};
|
/// use sea_orm::{entity::*, query::*, tests_cfg::cake, sea_query::PostgresQueryBuilder};
|
||||||
///
|
///
|
||||||
/// let apple = cake::ActiveModel {
|
/// let apple = cake::ActiveModel {
|
||||||
/// name: Val::set("Apple Pie".to_owned()),
|
/// name: Val::set("Apple Pie".to_owned()),
|
||||||
/// ..Default::default()
|
/// ..Default::default()
|
||||||
@ -189,4 +189,26 @@ pub trait EntityTrait: EntityName {
|
|||||||
{
|
{
|
||||||
Insert::new().many(models)
|
Insert::new().many(models)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// ```
|
||||||
|
/// use sea_orm::{entity::*, query::*, tests_cfg::fruit, sea_query::PostgresQueryBuilder};
|
||||||
|
///
|
||||||
|
/// let orange = fruit::ActiveModel {
|
||||||
|
/// id: Val::set(1),
|
||||||
|
/// name: Val::set("Orange".to_owned()),
|
||||||
|
/// ..Default::default()
|
||||||
|
/// };
|
||||||
|
/// assert_eq!(
|
||||||
|
/// fruit::Entity::update(orange)
|
||||||
|
/// .build(PostgresQueryBuilder)
|
||||||
|
/// .to_string(),
|
||||||
|
/// r#"UPDATE "fruit" SET "name" = 'Orange' WHERE "fruit"."id" = 1"#,
|
||||||
|
/// );
|
||||||
|
/// ```
|
||||||
|
fn update<A>(model: A) -> Update<A>
|
||||||
|
where
|
||||||
|
A: ActiveModelTrait<Entity = Self>,
|
||||||
|
{
|
||||||
|
Update::new(model)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user