pub async fn find_by_ids<'e, 'c: 'e, DB, M, I, E>(
executor: E,
ids: I,
) -> Result<Vec<M>>Expand description
根据多个 ID 查找记录(泛型版本)
这是统一的泛型实现,支持所有实现了 DatabaseInfo 的数据库类型。
§类型参数
DB- 数据库类型(如sqlx::MySql,sqlx::Postgres,sqlx::Sqlite)M- 模型类型,必须实现Modeltrait 和对应数据库的FromRowI- ID 集合类型,可以是Vec<T>或其他实现了IntoIterator的类型E- 执行器类型,可以是连接池或事务
§参数
executor- 数据库执行器(连接池或事务)ids- 主键 ID 集合
§返回值
返回找到的所有记录,如果没有找到任何记录,返回空向量
§示例
ⓘ
use sqlxplus::{DatabaseInfo, crud};
// MySQL
let users = crud::find_by_ids::<sqlx::MySql, User, _, _>(pool, vec![1, 2, 3]).await?;
// PostgreSQL
let users = crud::find_by_ids::<sqlx::Postgres, User, _, _>(pool, vec![1, 2, 3]).await?;
// SQLite
let users = crud::find_by_ids::<sqlx::Sqlite, User, _, _>(pool, vec![1, 2, 3]).await?;