Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- let result = conn.transaction::<i32, Error, _>(|| {
- match diesel::insert_into(orders::dsl::orders)
- .values(NewOrder::empty())
- .returning(orders::dsl::id)
- .get_result(&*conn)
- {
- Ok(inserted_id) => {
- let order_items: Vec<NewOrderItem> = order
- .0
- .order_items
- .iter()
- .map(|item| {
- NewOrderItem::new(inserted_id, item.product_code.clone(), item.quantity)
- })
- .collect();
- diesel::insert_into(order_items::dsl::order_items)
- .values(order_items)
- .execute(&*conn)?;
- Ok(inserted_id)
- }
- Err(e) => Err(Error::NotFound),
- }
- });
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement