use owl::{db::model::person::Person, prelude::*}; #[relation("parent", Person, "child", Person, RelationKind::Unidirectional)] pub struct ParentRelation; pub fn main() { let db = Database::in_memory(); let p = Person::new_id("myperson", "first", "last"); db.save(p); let p: Model = db.get("myperson").unwrap(); let p2 = Person::new_id("secperson", "second", "last"); let p2 = db.save(p2); ParentRelation.add(&p, &p2, None, &db); let children_of = ParentRelation::get_child_of(&p, &db); dbg!(&children_of); let children_of = dereference(&children_of, &db); children_of .iter() .for_each(|x| println!("child: {:?}", x.read())); let my_parents = dereference(&ParentRelation::get_parent_of(&p2, &db), &db); my_parents .iter() .for_each(|x| println!("parent: {:?}", x.read())); }