我有两个模型。用户和管理员
用户模型
const UserMaster = sequelize.define('User', {
UserId: {
type: DataTypes.BIGINT,
allowNull: false,
primaryKey: true,
autoIncrement: true
},
RelationshipId: {
type: DataTypes.STRING,
allowNull: true,
foreignKey: true
},
UserName: {
type: DataTypes.STRING,
allowNull: true
}
})
经理模式
const Manager = sequelize.define('Manager', {
ManagerId: {
type: DataTypes.BIGINT,
allowNull: false,
primaryKey: true,
autoIncrement: true
},
RelationshipId: {
type: DataTypes.STRING,
allowNull: true,
foreignKey: true
},
MangerName: {
type: DataTypes.STRING,
allowNull: true
}
})
缩小模型以简单地解决问题
协会..
User.belongsTo(models.Manager, {
foreignKey: 'RelationshipId',
as: 'RM'
});
Manger.hasMany(model.User, {
foreignKey: 'RelationshipId',
as: "Users"
})
因此,在user.findAll()上
var userObject = models.User.findAll({
include: [{
model: models.Manager,
required: false,
as: 'RM',
attributes: ['ManagerName']
}]
});
我得到以下内容。
userObject = [{
UserId: 1,
RelationshipId: 4545,
UserName: 'Jon',
RM: {
ManagerName: 'Sam'
}
},
{
UserId: 2,
RelationshipId: 432,
UserName: 'Jack',
RM: {
ManagerName: 'Phil'
}
},
...
]
如何将’ManagerName’属性从Manager模型(关联为RM)移动到UserObject?是否可以以某种方式从急切加载的模型中加载属性,而无需将它们嵌套在单独的对象下?我希望得到的对象看起来像对象
预期对象-
userObject = [{
UserId: 1,
RelationshipId: 4545,
UserName: 'Jon',
ManagerName: 'Sam' // <-- from Manager model
},
{
UserId: 2,
RelationshipId: 432,
UserName: 'Jack',
ManagerName: 'Phil' // <-- from Manager model
},
...
]
谢谢你。
raw: true
与attributes
option一起添加可以得到所需的对象格式。
所以,
var userObject = models.User.findAll({
raw:true,
attributes: {
include: [Sequelize.col('RM.ManagerName'), 'ManagerName']
},
include: [{
model: models.Manager,
required: false,
as: 'RM',
attributes: []
}]
});
问题内容: 是否可以一次更新父模型和关联模型的属性?我无法使其正常工作,并且无法找到任何完整的示例。我不确定我的代码是否有问题或是否没有按照我期望的方式工作。我尝试将onUpdate:’cascade’添加到我的hasMany定义中,但这似乎无济于事。 楷模: 检索过滤器并尝试更新关联的FilteredContent对象上的属性: 这导致仅Filter对象中的属性被更新。如何获取它还更新Filte
通过预先确定好模型之间的关系,在业务开发中,使用非常简便的写法,就可以实现复杂的涉及多表数据增删改查。 这一切都是模型底层实现帮你在处理,在 imi 中,模型的关联关系都使用注解来定义。 注解 这里列出定义模型关联关系所需的注解,所有关联模型的注解,命名空间为Imi\Model\Annotation\Relation @OneToOne 一对一关系声明 用法: @OneToOne("模型类名")
Creating model relations(创建模型之间的关系) model 关系概念 使用slc loopback:relation 关联选项 范围 属性 invertProperties ?? 逆属性(?) 自定义范围方法 通过REST API 暴露关联对象的方法 model 关系概念 在工作中单个 model 比较好理解, 但是现实使用中 model 之间往往存在着各种关联。 当你在实
我有一个画布,其中包含带有的对象和带有的其他对象。当我将此画布转换为JSON并重新加载时。这些对象具有默认属性。即没有居中旋转,对象是可选择的。我可以知道为什么会发生这种情况吗?很明显,像centeredRotation、可选这样的属性不包含在JSON中。 {“type”:“rect”,“originX”:“左”,“originY”:“顶部”,“左”:92,“顶部”:53,“宽度”:150,“高度
本文向大家介绍ThinkPHP中的关联模型注意点,包括了ThinkPHP中的关联模型注意点的使用技巧和注意事项,需要的朋友参考一下 初学ThinkPHP时,ThinkPHP中的关联模型有一处易错点,现举例如下: 需用到的表:id_elite_major和id_elite_student 代码举例如下:
本文向大家介绍JavaScript中关联原型链属性特性,包括了JavaScript中关联原型链属性特性的使用技巧和注意事项,需要的朋友参考一下 数据属性: 数据属性包含一个数据值的位置,在这个位置可以读取和写入值。 4个描述的行为特性: writable 表示能否修改属性的值。默认为true Enumerable 表示能否过过for in循环返回属性是否可以枚举。 configuralbe 表示是