一对一
优质
小牛编辑
142浏览
2023-12-01
一对一关联模型
满足条件:一个人只能对应一个身份证,一个身份证只能对应一个人 示例: student 学生表 card 身份证表 >[danger] 一对一可以在任意一个表添加外键 > 注意!!! 一对一外键需要添加 unique 唯一约束
反向关联
'use strict';
const moment = require('moment');
module.exports = app => {
const { STRING, INTEGER, DATE } = app.Sequelize;
const Flow = app.model.define('flow', {
id: { type: INTEGER.UNSIGNED, primaryKey: true, autoIncrement: true },
status: { type: INTEGER},
index: { type: INTEGER },
type: { type: INTEGER },
art_id: { type: INTEGER }
});
Flow.associate = function() {
app.model.Flow.belongsTo(app.model.Movie, { as: 'movie', foreignKey: 'art_id', targetKey: 'id'});
}
// 获取最新期刊
Flow.getNewFlowByIndex = async function() {
const flow = await this.findOne({
// 主表只查询的字段
attributes: ['index'],
include: [{
model: app.model.Movie,
as: 'movie',
// 副表查询的字段
attributes: ['image', 'content', 'title']
}],
order: [
['index', 'DESC']
]
});
return flow ? flow.dataValues : false;
}
return Flow;
};