我有以下对象层次结构:
一旦我有了一个用户对象,即时尝试加载关联的父对象以及其子项的一些。以下作品:
user.getParent({
include: [{
model: Child
}]
}).then(function(parent) {
var children = parent.children;
});
但是如果我想有选择地加载一些的父母的孩子,就像这样:
user.getParent({
include: [{
model: Child,
where: { gender: 'FEMALE' }
}]
}).then(function(parent) {
var daughters = parent.daughters;
});
如果父母有一个或多个女儿,那么查询就会起作用,我会得到父数据以及所有的女儿。数据。 但是,如果父亲只有儿子,则返回的父对象为null
..
我希望如果父母没有女儿,则仍应使用children = null
或children = []
解析父对象..
另外,如果我想在加载父母的同时加载一个孩子的数量,我该怎么做呢?
感谢
答案 0 :(得分:3)
where
子句不返回任何模型,sequelize无法加载模型..为了确保它不会完全失败,你可以设置一个required: false
子句以及where
子句..这使得sequelize返回一个空白数组而不是完全失败负载..
的更多信息