Expand description
Nested write operations for managing relations in a single mutation.
This module provides support for creating, connecting, disconnecting, and updating related records within a single create or update operation.
§Example
ⓘ
use prax_query::nested::*;
// Create a user with nested posts
let user = client
.user()
.create(user::create::Data {
email: "user@example.com".into(),
name: Some("John Doe".into()),
posts: Some(NestedWrite::create_many(vec![
post::create::Data { title: "First Post".into(), content: None },
post::create::Data { title: "Second Post".into(), content: None },
])),
})
.exec()
.await?;
// Connect existing posts to a user
let user = client
.user()
.update(user::id::equals(1))
.data(user::update::Data {
posts: Some(NestedWrite::connect(vec![
post::id::equals(10),
post::id::equals(20),
])),
..Default::default()
})
.exec()
.await?;
// Disconnect posts from a user
let user = client
.user()
.update(user::id::equals(1))
.data(user::update::Data {
posts: Some(NestedWrite::disconnect(vec![
post::id::equals(10),
])),
..Default::default()
})
.exec()
.await?;Structs§
- Join
Table Info - Information about a join table for many-to-many relations.
- Nested
Create Data - Data for creating a nested record.
- Nested
Create OrConnect Data - Data for creating or connecting a nested record.
- Nested
Update Data - Data for updating a nested record.
- Nested
Update Many Data - Data for updating many nested records.
- Nested
Upsert Data - Data for upserting a nested record.
- Nested
Write Builder - Builder for nested write SQL operations.
- Nested
Write Operations - A container for collecting all nested write operations to execute.
Enums§
- Nested
Write - Represents a nested write operation for relations.