EmberJS filter hasMany data,应用于belongsTo关系

EmberJS filter hasMany data, apply to belongsTo relationship

我有这个团队模型:

export default DS.Model.extend({
    "name": attr('string'),
    "players": DS.hasMany('player',{
        async: true
    })
});

连同这个播放器模型:

export default DS.Model.extend({
    "name":  attr('string'),
    "status": attr('string'),
    "team": DS.belongsTo('team',{
        async: true
    })
});

如果我想列出所有球队,很容易。如果我想列出所有球队,并在每个球队中列出所有球员......也很简单。

{{#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}}

我的问题...假设某些球员受伤了。如果我在球队中循环,我将如何只显示有受伤球员的球队。如果至少有一名球员受伤,则球队会显示,如果没有...球队不会显示?

您可以尝试使用 isAny 方法过滤 players

export default Ember.Route.extend({
    model() {
        return this.store.findAll('team').then((teams)=>{
            return teams.get('players').then((players) => {
                return players.isAny('status','injured');
            })
        })
    }
})

请看this twiddle