2012-09-25 8 views
8

Necesito saber cuántas filas de un recurso específico (App.User) existen en total.Devuelve el recuento de las filas totales en la solicitud 'find` o `findAll` de todos los datos'

Traté de devolverlo en respuesta, pero Ember se queja de las propiedades no mapeadas y solo espera una matriz de registros (users: [ "john", "fred"]). No quiero hacer una consulta adicional al servidor.

¿Hay alguna manera limpia de lograr esto con Ember?

+0

+1, me preguntaba sobre esto en el contexto de [pagination] (http://stackoverflow.com/questions/12482977/does-a-pagination-mixin-exist-for-ember-js-yet) – dechov

+0

¡Exactamente! Necesito saber cuántos registros totales hay en el conjunto de resultados y usarlo para la paginación ... – korCZis

Respuesta

4

No necesita hacer una consulta adicional al servidor. Vez obtiene los datos almacén de datos Del servidor permanece allí menos algún registro sucio y ejecuta una store.commit

Así después consigues registros diciendo

users = App.User.find() 

puede simplemente hacerlo users.get('length') y obtendrás la longitud. Cuando hace esto, no se genera una consulta adicional al servidor.

4

Si desea esto en una plantilla de manillar, puede hacer {{this.length}}.

0

He resuelto este problema implementando handleResponse en mi adaptador y modificando la respuesta en la forma en que Ember lo espera.

Digamos que tengo una respuesta del servidor similar a esto:

Mi handleResponse aplicación es el siguiente:

handleResponse (status, headers, payload, requestData) { 
    let parsedPayload = { 
    users: payload.users, 
    meta: { 
     total: payload.count 
    } 
    }; 
    return this._super(status, headers, parsedPayload, requestData); 
} 

Entonces puedo conseguir el modelo de metadatos de una manera Ember documentation specifies it

Cuestiones relacionadas