2015-03-27 2 views
7

Ho un modello (utente) che ha un'associazione con un altro modello (telefono). Questa associazione è molti a molti. La seguente chiamata è incorporata in Vele e mi permette di ottenere tutti i tabulati telefonici per un particolare utente:Sails.js ottiene molti a molti conteggio delle associazioni

GET - /user/:userId/phones 

Mi piacerebbe essere in grado di implementare l'impaginazione su quella chiamata, ma non riesco a capire come ottenere il totale numero di risultati. Ho provato a sovrascrivere i blueprint find.js e/o findOne.js per restituire il conteggio, ma la chiamata sopra non sembra passare attraverso quella logica.

risposta

8

Ottima domanda. Sails implementa le associazioni many-to-many utilizzando un modello "join". Non viene visualizzato nella cartella api/modelli, ma è comunque possibile richiederlo se necessario. Nel tuo caso sarebbe qualcosa di simile:

sails.models['user_phones__phone_users'].count({user_phones: userId}).exec(...) 

Il nome esatto del modello dipende dai modelli e le loro chiavi via; modo più semplice per capirlo è quello di eseguire sails console e fare:

sails.util.keys(sails.models) 

per elencare tutti i modelli presenti nel sistema.

+0

Funziona per me! Grazie. – Vunb