第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定

【備戰(zhàn)春招】第7天 Sequlize 外鍵關(guān)聯(lián)

標(biāo)簽:
Node.js

课程章节:第2章 技术选型和知识点介绍(上)2-14

课程讲师双越

课程内容

上节课学习了Sequelize 的基本使用,并创建了用户模型 User Model。现在需要创建一个 Blog Model ,并通过外键,将这两张表进行关联。

创建 blog Model:

// src/db/blog.js

const Sequelize = require('sequelize');
const seq = require('./seq');

// 创建Blog Model
const Blog = seq.define('blog', {
  // 默认
  title: {
    type: Sequelize.STRING, 
    allowNull: false  
  },

  content: {
    type: Sequelize.TEXT, // blog的内容会很长,所以不能使用varchar(255),使用text类型
    allowNull: false
  },
   
  // 创建外键
  userId: { 
    // userId 字段将作为外键,关联的是 User 表中的 id 字段,使用 Integer 类型
    type: Sequelize.INTEGER
  }
});

module.exports = Blog;

外键关联

将Blog表的userId作为外键,和users进行关联,使用 belongsTo: 属于多对于一的关系:

// Blog表属于User表,属于n:1的关系,即一个user可以有多个blog
Blog.belongsTo(User, {
 // 设置哪个字段作为外键。
 // 自动将 userId 映射到 User表的id 字段:Blog.userId -> User.id
 foreignKey: 'userId'
});

有一种简略写法:定义Blog Model 时,不需要自己定义 userId 字段,然后由 sequelize 自动为我们创建外键。这样,User表的主键,Blog表的外键,都是由sequelize创建的了。但不推荐这种方式,不明显,没有语义。

图片描述

课程收获

这节课学习了使用 Sequlize 创建外键关联的方法,通过外键关联,就可以查询到所关联表的数据,可以降低数据的冗余,保持数据一致性(保证数据的引用完整性)。

點(diǎn)擊查看更多內(nèi)容
TA 點(diǎn)贊

若覺得本文不錯(cuò),就分享一下吧!

評(píng)論

作者其他優(yōu)質(zhì)文章

正在加載中
  • 推薦
  • 評(píng)論
  • 收藏
  • 共同學(xué)習(xí),寫下你的評(píng)論
感謝您的支持,我會(huì)繼續(xù)努力的~
掃碼打賞,你說多少就多少
贊賞金額會(huì)直接到老師賬戶
支付方式
打開微信掃一掃,即可進(jìn)行掃碼打賞哦
今天注冊(cè)有機(jī)會(huì)得

100積分直接送

付費(fèi)專欄免費(fèi)學(xué)

大額優(yōu)惠券免費(fèi)領(lǐng)

立即參與 放棄機(jī)會(huì)
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)

舉報(bào)

0/150
提交
取消