Javascript 续集v3—;如何将hasMany关系的默认值设置为空列表?
我正在用它作为我的ORM。我有一个简单的Javascript 续集v3—;如何将hasMany关系的默认值设置为空列表?,javascript,associations,sequelize.js,model-associations,Javascript,Associations,Sequelize.js,Model Associations,我正在用它作为我的ORM。我有一个简单的用户模型,如下所示。用户有许多注释,而注释属于用户 models/user.js(根据相关内容进行调整) models/comment.js(也经过修剪) 我创建了一个测试,如下所示(为简洁起见进行了修剪) 导致 Unhandled rejection AssertionError: expected { Object (name, ...) } to have a property 'comments' 但是,如果我像这样指定我的userData co
用户
模型,如下所示。用户
有许多
注释
,而注释
属于
用户
models/user.js
(根据相关内容进行调整)
models/comment.js
(也经过修剪)
我创建了一个测试,如下所示(为简洁起见进行了修剪)
导致
Unhandled rejection AssertionError: expected { Object (name, ...) } to have a property 'comments'
但是,如果我像这样指定我的userData
const userData = {
name: 'test',
comments: []
}
考试通过得很好
我怎样才能告诉Sequelize只将空注释列表作为默认值?实际上,此功能不是模型创建的一部分 它与获取数据时的查询相关。 您可以在findAll的include语句中使用nested:true选项
User.findAll({
include: [{
model: Comment,
as: "comments",
nested: true
}]});
来源:实际上,此功能不是模型创建的一部分 它与获取数据时的查询相关。 您可以在findAll的include语句中使用nested:true选项
User.findAll({
include: [{
model: Comment,
as: "comments",
nested: true
}]});
来源:我认为您必须通过以下方式手动获取评论:
user.getComments()
。我认为您必须通过以下方式手动获取评论:user.getComments()
。
const userData = {
name: 'test',
comments: []
}
User.findAll({
include: [{
model: Comment,
as: "comments",
nested: true
}]});