与redux-orm中的相同模型的许多()关系

时间:2018-02-27 06:40:21

标签: javascript reactjs redux redux-orm

我需要的是模型会员有一个关注者和关注者列表。

1 个答案:

答案 0 :(得分:0)

对于非自引用多对多关系,您可以使用与定义关系相同的方式来定义关系。

class Follower extends Model {
    static modelName = 'Follower';

    static fields = {
        id: attr(),
        name: attr(),
        followers: many('Follower','following')
    };
}

const orm = new ORM();
orm.register(Follower);

const session = orm.session(orm.getEmptyState());

session.Follower.create({id: 1, name: 'f1'});
session.Follower.create({id: 2, name: 'f2'});
session.Follower.create({id: 3, name: 'f3', followers: [1,2]});

// returns ['f1', 'f2']
const f3Followers = session.Follower.withId(3).followers.toRefArray().map(f=>f.name);

// returns ['f3']
const f1Following = session.Follower.withId(1)!.following.toRefArray().map(f=>f.name);