序列自引用有许多关系
Sequelize - self references has many relation
我正在使用Mysql的Sequelize。
I have a table:
项目
包含以下字段:
{Id、名称、价格}
我想在Item中创建一个self关系到self。目标能够做项目。并获取属于该项的所有子项的列表。
,请告诉我如何将新模型包含在
中包括:[{模型:子项}]…
我已经尝试了很多选择的关系:
项目。hasMany(项目,{:子项,:"条目"});
Item.hasMany(项);
谢谢你的帮助!
创建self引用
Item.hasMany(Item, {as: 'Subitems'})
使用include
查找子项Item.find({where:{name: "Coffee"},include:[{model: Item, as: 'Subitems'}]})
参见下面的示例代码,
var Sequelize = require('sequelize')
, sequelize = new Sequelize("test", "root", "root", {logging: false})
, Item = sequelize.define('Item', { name: Sequelize.STRING })
Item.hasMany(Item, {as: 'Subitems'})
var chainer = new Sequelize.Utils.QueryChainer
, item = Item.build({ name: 'Coffee' })
, subitem1 = Item.build({ name: 'Flat White' })
, subitem2 = Item.build({ name: 'Latte' })
sequelize.sync({force:true}).on('success', function() {
chainer
.add(item.save())
.add(subitem1.save())
.add(subitem2.save())
chainer.run().on('success', function() {
item.setSubitems([subitem1, subitem2]).on('success', function() {
/* One way
item.getSubitems().on('success', function(subitems) {
console.log("subitems: " + subitems.map(function(subitem) {
return subitem.name
}))
})
*/
//The include way you asked
Item.find({where:{name: "Coffee"},include:[{model: Item, as: 'Subitems'}]}).success(function(item) {
console.log("item:" + JSON.stringify(item));
})
})
}).on('failure', function(err) {
console.log(err)
})
})
日志数据如下:
项目:{" id ": 1、"名称":"咖啡"、"createdAt":"2014 - 08 - 05 - t06:25:47.000z"、"updatedAt":"2014 - 08 - 05 - t06:25:47.000z"、"ItemId":空,"条目":[{" id ": 2,"名字":"平白","createdAt":"2014 - 08 - 05 - t06:25:47.000z"、"updatedAt":"2014 - 08 - 05 - t06:25:47.000z"、"ItemId":1},{" id ": 3,"名字":"拿铁"、"createdAt":"2014 - 08 - 05 - t06:25:47.000z"、"updatedAt":"2014 - 08 - 05 - t06:25:47.000z"、"ItemId":1}]}
相关文章:
- 气质的“nestRemoting()”有时可以'找不到关系
- 如何在Parse中创建一对多关系
- 为什么在许多浏览器中drawImage()的性能略好于createPattern()
- Ext.js从json构建模型关系的问题
- JSDoc:模块和名称空间之间的关系是什么
- 单元测试依赖关系没有被嘲笑
- 在Nodejs中为许多用户处理计时器
- FRP 中 EventStreams 的循环依赖关系
- 有许多关系创建记录 - 为什么未定义
- Ember js - 更新其他表后,有许多关系中断
- 余烬.js有许多模型关系保存
- 对于具有一对多关系的主干模型,存储“;许多“;数组中的模型,而不是Collection
- Ember排序有许多关系
- 余烬装置和有许多关系
- 序列自引用有许多关系
- Ember.js如何扁平化async的许多关系
- 如何在父模型中添加新的许多关系
- Ember数据有许多关系空结果
- 在车把模板中显示具有许多余烬关系的第一项
- 如何在javascript中动态创建具有许多父级和子级关系的Json