Ceci est une ancienne révision du document !
Opérations CRUD
Store
Récupération du store, dans un contrôleur ou un route handler :
let store=this.get('store');
Read : chargement d'enregistrements
1 enregistrement
Chargement d'une instance de person
let person = this.get('store').findRecord('person', 1);
Recherche d'une instance de person déjà chargée (ne retourne que si elle est déjà présente dans le store, sans effectuer de requête vers le serveur) :
let person = this.get('store').peekRecord('person', 1);
Plusieurs enregistrements
Chargement de toutes les instances de person :
let persons = this.get('store').findAll('person');
Retour des instances de person déjà chargée dans le store :
let persons = this.get('store').peekAll('person');
Recherche par critères
De plusieurs enregistrements
this.get('store').query('person', { filter: { name: 'Peter' } }).then(function(peters) { // Do something with `peters` });
D'un seul enregistrement
this.get('store').queryRecord('person', { filter: { id: 1234 } }).then(function(user) { // Do something with `user` });
Promises
Toutes les méthodes du store interrogeant le serveur (find, findAll, query, save…) retournent une “promise” permettant d'intercepter la fin du chargement, ou les erreurs éventuelles.
let persons=this.get('store').findAll('person').then(function(datas){ //les données datas sont chargées }).catch(function(reason){ //Erreurs de chargement });