sqlxgentools/DRAFT.md
Matthieu Bessat 5f45671b74 feat: one-to-many relation helper
Allow one to specify that a field of a model is a foreign key.
It will generate a bunch of helper methods to query related entities
from one entity.
2026-01-04 22:14:00 +01:00

39 lines
830 B
Markdown

# Design draft
This document is at the attention of the developers of sqlxgentools.
## Implementing basic relation ship
### Issues
Problems with Struct non-flexibility
### Turning the problem around: Views
### hasMany / belongsTo relationship
So we can implements a method
```rs
use repositories::impls::post::RelationShips;
let post = PostRepository::new(db).get_one_by_id("id_machin")?;
post.first_name // OK
let authors = post.get_authors()? // we need to require the implementation
```
.relations() => give you a RelationFetcherBuilder
.of(entity) => give you a RelationFetcher
.author
```rs
let post_repo = PostRepository::new(db);
let author: User = post_repo.relations()
.of(post)
.author().ok_or(Err)?;
let comments: Vec<Comment> = post_repo.relations()
.of(post)
.comments().ok_or(Err)?;
```