2017-07-17 77 views
0

我在sailsj中定义了一个简单的用户模型,如下所示。唯一值得注意的是用户有一个用户作为他们的经理的引用。我试图理解的是,我如何查询这个模型以便返回用户,并且如果其中任何用户是经理,那么还包括那些子用户,等等。在sails中查找基于父ID的子数据(水线ORM)

在甲骨文有一个“以前连接”的条件,但是,我没有找到一些帆(或水线)的成功。

module.exports = { 

attributes: { 

    username: { 
    type: 'string', 
    unique: 'true', 
    required: 'true' 
    }, 

    systemRoleCd: { 
    type: 'string', 
    enum: ['normal', 'admin'] 
    }, 

    firstName: { 
    type: 'string' 
    }, 

    lastName: { 
    type: 'string' 
    }, 

    //The users direct manager 
    manager: { 
    model: 'User' 
    }, 

    email: { 
    type: 'string', 
    email: 'true', 
    unique: 'true' 
    }, 

    //This is the encrypted password 
    password: { 
    type: 'string' 
    }, 

    deleted: { 
    type: 'boolean' 
    } 
} 
}; 

回答

0

假设:用户最多只能有一位经理,并且可能有许多下属。

试试这个在models/User.js

subordinates: { 
    collection: 'user', 
    via: 'manager' 
}, 

manager: { 
    model: 'user' 
} 

随着.populate(),用户的经理和下属应返回。

+0

你的假设是正确的,我会试试这个,让你知道结果。感谢您的建议! – Dean