loopbackio / loopbackio/loopback-next
Polymorphic Relation - Wrong Doc
Nessuno ha ancora preso questa issue.
- Lingua principale
- TypeScript
- Stelle
- 5.1k
- Fork
- 1.1k
- Merge medio
- 2g 21h
- PR unite (30g)
- 27
Descrizione
### Describe the bug
Hi there!
Let's suppose a base Delivery model with 3 fields: id, deliverableType, and deliverableId.
If you follow the [docs](https://loopback.io/doc/en/lb4/Polymorphic-relation.html), you'll get this error when requesting some deliverable relations:
> Request GET /deliveries?filter=whatever failed with status code 500. Error: ER_BAD_FIELD_ERROR: Unknown column 'deliverable' in 'field list'
This is caused by this part of code, as you're asking it to search on the corresponding datasource for the field "deliverable" which doesn't exist:
```
class Delivery extends Entity {
@hasOne(() => Deliverable, {polymorphic: true})
deliverable: Deliverable;
deliverableType: string;
}
```
Instead, it should be like this (search deliverableId on deliverableType's model):
```
class Delivery extends Entity {
@hasOne(() => Deliverable, {polymorphic: true})
deliverableId: string;
deliverableType: string;
id: string;
}
```
With that change, polymorphic relation is working as expected (assuming repositories are correctly configured)
### Logs
_No response_
### Additional information
_No response_
### Reproduction
Not needed
Guida per i contributori
Apri la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Direzione di ricerca
Inizia dalla documentazione di Polymorphic relation all’indirizzo https://loopback.io/doc/en/lb4/Polymorphic-relation.html e confronta il relativo esempio Delivery con i campi segnalati nell’issue. Aggiorna l’esempio in modo che la relazione utilizzi deliverableId e deliverableType, quindi verifica che l’esempio documentato non richieda più il campo inesistente deliverable.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Valutazione
- Stack tecnologico
- typescript
- Ambito
- documentation
- Tipo di issue
- Documentazione
- Difficoltà
- 1/5
- Tempo stimato
- Meno di un'ora
- Stato di attività
- Ferma
- Chiarezza
- Specificata chiaramente
- Idoneità per principianti
- 48/100