#[select_query]Expand description
Create a select edgeDB query
ยงUsage
use edgedb_query_derive::{edgedb_filters, query_result, select_query};
use edgedb_query::models::edge_query::{ToEdgeQuery, EdgeQuery};
use edgedb_query::queries::select::{OrderDir, OrderOptions, SelectOptions};
#[select_query(module = "users", table = "User", result = "UserResult")]
pub struct SelectQuery {
#[filter(operator = "Is")]
pub name: String,
#[and_filter(operator = "GreaterThan")]
pub age: i8,
#[options]
options: SelectOptions
}
#[query_result]
pub struct UserResult {
pub id: uuid::Uuid,
pub name: String,
pub age: i8,
}
async fn main() {
let client = edgedb_tokio::create_client().await.unwrap();
let select_query = SelectQuery {
options: SelectOptions {
order_options: Some(OrderOptions {
order_by: "name".to_string(),
order_direction: Some(OrderDir::Desc)
}),
page_options: None
},
name: "Joe".to_string(),
age: 18
};
let query = select_query.to_edge_query();
let user: UserResult = client
.query_single::<UserResult, _>(query.query.as_str(), &query.args.unwrap())
.await
.unwrap();
}