pub fn tx_fetch_all<'a, T>(
tx: Transaction<'a>,
entity: &T,
) -> Result<(Transaction<'a>, Vec<T>), Error>
Expand description
§tx_fetch_all
Transaction içinde birden fazla kaydı getirir.
§Parametreler
tx
: Transaction nesnesientity
: 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(())
}