2015-08-12 2 views
0

Хорошо, это шокирует, насколько плохо документировано это и что я не могу найти ответ быстро.Данные Ember - получить первую коллекцию

Как получить первый объект коллекции в ember?

Это коллекция:

this.store.query('review', { order_id: params.id }) 

Я хочу, чтобы первая запись и только первую запись (а не как набор) для использования в шаблоне.

Ни одна из этих работ:

// First attempt 
this.store.query('review', { order_id: params.id })[0]; 
// Second attempt 
this.store.query('review', { order_id: params.id }).get('firstObject'); 

// Third attempt 
var r; 
this.store.query('review', { order_id: params.id }).then(function(results) { 
    r = results.get('firstObject'); 
}); 
+0

Вы ошибаетесь [Ember.Enumerable] (http://emberjs.com/api/classes/Ember.Enumerable.html) с помощью [DS.Model] (http://emberjs.com/api/data/classes /DS.Model.html), вы уже извлекаете все записи, которые вы можете просто использовать '.firstObject' в шаблоне. –

+0

Это не работает @Kitler –

+0

Какие ошибки вы получаете? Как вы его настраиваете? Как вы называете это в шаблоне? Возвращает ли база данных что-либо? ... добавьте соответствующий код и [jsbin] (http://emberjs.jsbin.com), если это возможно. –

ответ

1

Если говорят у вас есть маршрутизатор, и вы определяете функцию модели как таковой:

model: function(){ 
    return this.store.query('review', {order_id: params.id}).then(function(results) { 
    return results.get('firstObject'); 
    }); 
} 

Затем в шаблоне:

{{model}} 

Не работает ли это?