Function tx_fetch_all

Source
pub fn tx_fetch_all<'a, T>(
    tx: Transaction<'a>,
    entity: &T,
) -> Result<(Transaction<'a>, Vec<T>), Error>
where T: SqlQuery + FromRow + SqlParams,
Expand description

§tx_fetch_all

Transaction içinde birden fazla kaydı getirir.

§Parametreler

  • tx: Transaction nesnesi
  • entity: Sorgu parametresi nesnesi (SqlQuery, FromRow ve SqlParams trait’lerini implement etmeli)

§Dönüş Değeri

  • Result<(Transaction<'_>, Vec<T>), Error>: Başarılı olursa, transaction ve bulunan kayıtların listesini döner; hata durumunda Error döner

§Örnek Kullanım

use postgres::{Client, NoTls, Error};
use parsql::postgres::transactional::{begin, tx_fetch_all};
 
#[derive(Queryable, FromRow, SqlParams)]
#[table("users")]
#[where_clause("active = $")]
pub struct GetUsers {
    pub active: bool,
    pub id: i32,
    pub name: String,
    pub email: String,
}

fn main() -> Result<(), Error> {
    let mut client = Client::connect(
        "host=localhost user=postgres dbname=test",
        NoTls,
    )?;
     
    let mut tx = begin(&mut client)?;
     
    let get_users = GetUsers {
        active: true,
        id: 0,
        name: String::new(),
        email: String::new(),
    };
     
    let (tx, users) = tx_fetch_all(tx, &get_users)?;
     
    // İşlemler devam edebilir...
     
    // Transaction'ı tamamla
    tx.commit()?;
    Ok(())
}