sqlx FromRow trait
pub trait FromRow<'r, R: Row>: Sized {
fn from_row(row: &'r R) -> Result<Self, Error>;
}
async fn query(pool:Pool,sql:&str)->Result<Vec<大t>>
where T: //这里不会写FromRow约束
{
let data:Vec<T>=sqlx::query_as(sql)
.fetch_all(&pool)
.await?;
Ok(data)
}
请前辈指点! 栓q!
1
共 4 条评论, 1 页
评论区
写评论谢谢解惑,已经解决,崇拜你。昨天就在crates里,看到了你的sqlx-model很牛逼。再次感谢。
--
👇
shanliu: ``` pub async fn fetch_one_by_scalar_pk<'c,M,PT,E>( &self, pk_scalar: PT, executor: E, ) ->Result<M,Error> where for<'q> PT:'q+ Send + sqlx::Encode<'q, DB> + sqlx::Type, for<'r> M: FromRow<'r, DB::Row>+Send+Unpin+ModelTableField, for<'n> <DB as HasArguments<'n>>::Arguments: Arguments<'n>+IntoArguments<'n,DB>, E: Executor<'c, Database = DB> { let where_sql=scalar_pk_where!(DB,self.table_pk); let sql=format!( "SELECT {} FROM {} WHERE {}", self.table_field.to_vec().join(","), self.table_name.full_name(), where_sql ); let mut res=sqlx::query_as::<DB, M,>(sql.as_str()); res=res.bind(pk_scalar); res.fetch_one(executor).await }
大佬谢谢你的讲解,已经解决。又收获了知识点。么么。再次感谢
--
👇
苦瓜小仔: 遵循编译器、RA 和 clippy 的提示编程。
RustExplore
https://github.com/shanliu/sqlx-model/blob/260519613335a1176690941be1d9c880b4a72871/src/curd/select.rs#L333
遵循编译器、RA 和 clippy 的提示编程。
RustExplore