async fn fetch_list_by_wrapper<T>(&self, context_id: &str, w: &Wrapper) -> Result<Vec<T>>
    where
        T: CRUDTable,
    {
        let sql = make_select_sql::<T>(context_id, &self, &T::table_columns(), &w)?;
        return self.fetch_prepare(context_id, sql.as_str(), &w.args).await;
    }
/// fetch database record list by a wrapper
fetch database record list by a wrapper
fetch database record list by a wrapper
async fn fetch_list_by_wrapper<T>(&self, context_id: &str, w: &Wrapper) -> Result<Vec<T>>
    where
        T: CRUDTable,
    {
        let sql = make_select_sql::<T>(context_id, &self, &T::table_columns(), &w)?;
        return self.fetch_prepare(context_id, sql.as_str(), &w.args).await;
    }
async fn fetch_list_by_wrapper < T > ( & self , context_id : & str , w : & Wrapper ) -> Result < Vec < T > > where T : CRUDTable , { let sql = make_select_sql :: < T > ( context_id , & self , & T :: table_columns ( ) , & w ) ? ; return self . fetch_prepare ( context_id , sql . as_str ( ) , & w . args ) . await ; }
fetch database record list by a wrapper
fetch database record list by a wrapper
&self
context_id
&str
w
&Wrapper
&self
context_id
&str
w
&Wrapper