Awe*_*SIM 4 node.js sequelize.js
我有以下对象层次结构:
一旦我有了一个用户对象,我就会尝试加载关联的父对象及其一些子对象。以下作品:
user.getParent({
include: [{
model: Child
}]
}).then(function(parent) {
var children = parent.children;
});
Run Code Online (Sandbox Code Playgroud)
但是如果我想有选择地加载一些父母的孩子,像这样:
user.getParent({
include: [{
model: Child,
where: { gender: 'FEMALE' }
}]
}).then(function(parent) {
var daughters = parent.daughters;
});
Run Code Online (Sandbox Code Playgroud)
如果父级有一个或多个女儿,则查询有效,我将获取父级数据以及所有女儿的数据。但是,如果父级只有儿子,则返回的父级对象是null..
我希望如果父级没有女儿,父级对象仍应使用children = null或解决children = []..
另外,如果我想在加载父项时简单地加载子项数,我该怎么做?
谢谢
结果证明是我自己的代码有问题..如果嵌套包含有一个where不返回模型的子句,sequelize 无法加载模型.. 为确保它不会完全失败,您可以设置一个required: false子句以及该where子句..这使得 sequelize 返回一个空白数组,而不是完全失败加载..
更多信息请访问https://github.com/sequelize/sequelize/issues/4019
| 归档时间: |
|
| 查看次数: |
6273 次 |
| 最近记录: |