2014-11-18 9 views
5

Ho modello utente su DB relazionale.Loopback 2.4: come interrogare determinati campi del modello correlato tramite API REST

Ogni utente può avere molti "utenti" in cui "chiefId" è FK.

"relations": { 
    "users": { 
     "type": "hasMany", 
     "model": "User", 
     "foreignKey": "chiefId" 
    }, 
} 

posso utenti di query correlate per ciascun capo-utente in questo modo:

GET /users?filter={"include":"users"} 

ma restituisce pieni oggetti utente.

  • Come devo interrogare solo le proprietà "nome" degli utenti collegati?
  • Inoltre è possibile contare le istanze correlate in una richiesta al server?
+0

sostenuto a quanto pare, vedere http://stackoverflow.com/questions/25903985/how-to-include-related-entities-in-rest-with-loopback-io – superkhau

risposta

6

Una risposta tardiva, ma ora mi sono imbattuto in questa domanda. E 'possibile: non

filter: { 
include:{ 
    relation: "users", 
    scope: { 
    fields:["name"] 
    } 
} 
} 
+0

sembra che il framework sia stato aggiornato, approvato – IvanZh

+0

Questa parte del modello è? – Bill

+0

@Bill Guarda [include filter docs] (http://loopback.io/doc/en/lb2/Include-filter.html) – ANTARA

0
/users?filter[fields][0]=name 

Vedi https://github.com/strongloop/loopback-example-relations-basic per maggiori informazioni.

+0

Questo doesn lavorare per oggetti inclusi E ho bisogno solo di "nome" per gli oggetti utente ** correlati ** (o incorporati)! – IvanZh

+0

alcuni casi d'uso nel repository di esempio soddisfano il tuo caso d'uso? forse questo one/api/customers? filter [include] [reviews] = author & filter [dove] [age] = 21 – superkhau

+0

Ho visto i casi d'uso, ma non limitano i campi restituiti dalla relazione. Come ha detto Alex Voitau, questo non è ancora supportato. Tuttavia grazie per la risposta! – IvanZh

2

Per quanto ho capito questa domanda è circa l'aggiunta di un filtro nidificato a livello includere, che sembra non essere ancora supportato: https://groups.google.com/forum/#!msg/loopbackjs/T6onsYMJFOI/V4ILc3Obf3MJ

Può essere che non è il modo migliore per affrontare questo problema, ma quello che si può fare una trasformazione della risposta manuale in .afterRemote ('find', ...) hook.

Problemi correlati