J'ai ce modèle équipes:EmberJS données hasMany filtre, appliquer à la relation belongsTo
export default DS.Model.extend({
"name": attr('string'),
"players": DS.hasMany('player',{
async: true
})
});
avec ce modèle de joueur:
export default DS.Model.extend({
"name": attr('string'),
"status": attr('string'),
"team": DS.belongsTo('team',{
async: true
})
});
Si je veux énumérer toutes les équipes, assez facile . Et si je veux énumérer toutes les équipes, et au sein de chaque équipe, énumérer tous les joueurs ... aussi simple que cela.
{{#each teams as |team index|}}
<strong>{{team.name}}</strong></br>
<em>Players</em>
<ul>
{{#each team.players as |player|}}
<li>{{player.name}} - {{player.status}}</li>
{{/each}}
</ul>
{{/each}}
Ma question ... disons que certains joueurs sont blessés. Si je parcours les équipes, comment ferais-je SEULEMENT pour afficher les équipes qui ont blessé des joueurs? Si au moins un joueur est blessé, le TEAM s'affichera, sinon ... l'équipe ne s'affichera pas?
avec l'extraction de données à partir d'une base de données, je vais avoir un problème à se rendre. En d'autres termes, si je charge l'enregistrement avec toutes les relations, je dois soit enregistrer l'enregistrement (pour qu'il affiche les résultats filtrés), soit dans un beforeModal, charger dans l'autre a plusieurs enregistrements. Y at-il un moyen que je puisse appeler la propriété calculée plus tard? ou d'autres moyens? PS, merci pour le twiddle ... très utile! – Matt
@Matt Je ne comprends pas quel est le problème! Si vous voulez filtrer l'équipe en fonction du joueur (relation), vous chargez implicitement la relation dans la façon dont les données de braise sont définies. S'il vous plaît obtenir plus d'informations sur le problème que vous avez mentionné –
Ce que je dis est, il semble que le filtre fonctionne avant le chargement de tous les modèles, puisque toutes les données du modèle ne sont pas là, il n'affiche pas le contenu. Est-il possible de retarder l'exécution de la propriété calculée ou d'attendre que tous les modèles soient chargés en premier? – Matt