anitnilay20 / anitnilay20/beatrix

Implement JOIN operations for PostgreSQL

Aperta
#6 0 commenti 0 reazioni 0 assegnatari Vedi su GitHub
postgres query-builder
Lingua principale
Rust
Stelle
1
Fork
0
Metriche di merge delle PR
Nessuna PR unita negli ultimi 30g

Descrizione

## Description
Add support for JOIN operations (INNER, LEFT, RIGHT, FULL OUTER) to enable querying related data across multiple tables.

## Requirements
- [ ] Implement JOIN query builder
- [ ] Support all JOIN types (INNER, LEFT, RIGHT, FULL OUTER)
- [ ] Handle complex join conditions
- [ ] Support multiple joins in single query
- [ ] Add proper type safety for joined results
- [ ] Write comprehensive tests

## Acceptance Criteria
- User can perform joins: `User::select().join(Post::table(), User::id().eq(Post::user_id()))`
- Support for multiple join types
- Type-safe result mapping
- Proper SQL generation with aliases

## Files to modify
- `beatrix_core/src/relational/join.rs` (new file)
- `beatrix_core/src/relational/select.rs`
- `beatrix_macro/src/relational.rs`

## Example Usage
```rust
let results = User::select()
.join(Post::table(), User::id().eq(Post::user_id()))
.where_clause(User::active().eq(true))
.fetch_all(&db).await?;
```

Guida per i contributori

Nessuna guida per i contributori indicizzata per questo repository

Valutazione

Questa issue non è ancora stata valutata.

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.