位置: 编程技术 - 正文

关于Sequelize连接查询时inlude中model和association的区别详解(sequelize-cli)

编辑:rootadmin

推荐整理分享关于Sequelize连接查询时inlude中model和association的区别详解(sequelize-cli),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:sequelize-cli,sequelize关联查询,sequelize 连接池,sequelize include,sequelize join,sequelize使用,sequelize使用,sequelize关联查询,内容如对您有帮助,希望把文章链接给更多的朋友!

前言

大家都知道在使用Sequelize进行关系模型(表)间连接查询时,我们会通过model/as来指定已存在关联关系的连接查询模型,或是通过association来直接指定连接查询模型关系。那么,两者各应该在什么场景下使用呢?

一、 示例准备

模型定义

首先,定义User和Company两个模型:

如上所示,我们定义了User和Company两个模型,并通过belongsTo指定了User-Company之间为1:1关系。

插入数据

接下来基于刚定义的关系模型插入一些测试数据:

关于Sequelize连接查询时inlude中model和association的区别详解(sequelize-cli)

二、使用model/as

在进行连接查询时,如果已经定义模型间的关联关系。就可以在inlude查询选项中,通过'model'属性指定要连接查询的模型,还可以通过'as'属性指定别名。

如,从User模型中查询一个用户,并查询该用户所在的公司信息:

查询结果如下:

三、使用association

连接查询时,如果要连接查询的两个模型间事先没有定义连接关系,或者要使用定义之外的连接关系。这时,可以通过association来定义或重新定义模型关系。

如,查询Company模型中的任意一个公司,并查询该公司的管理员:

由于Company-User之间并没有事先定义模型关系,因此需要在inlude选项中指定连接查询时所要使用的关联关系。

查询结果如下:

association除了用于指定之前没有定义的模型关系,还可以用于重新用于定义模型关系。如,假设我们通过hasMany事先定义了Company-User之间存在1:N的关系。这种关系适用于查询公司下的所有员工。而上例中,我们需要通过1:1关系来查公司的管理员,因此,这时可以通过association重新定义模型关系。

总结

标签: sequelize-cli

本文链接地址:https://www.jiuchutong.com/biancheng/376390.html 转载请保留说明!

上一篇:node.js入门学习之url模块(node.js快速入门)

下一篇:利用Node.js+Koa框架实现前后端交互的方法(怎么用node.js写接口)

  • 农村个体工商户的定义
  • 股东个人房产转入公司契税
  • 不征税收入和免税收入所对应的成本与费用能否税前扣除
  • 非正常损失的进项税额转出公式
  • 员工公交费补贴怎么入账
  • 申报个税是按照当月工资,做账时候发的是上月工资
  • 土地出让金返还的禁止性规定
  • 没有进出口经营权
  • 营改增后怎么计算税费
  • 个人捐赠支出扣除30%和100%扣除
  • 印章刻字怎么收费
  • 委托代销收取手续费账务处理
  • 事业单位发票名称是原来的怎么办
  • 普通硅酸盐水泥和矿渣硅酸盐水泥的区别
  • 预缴税款的税率
  • 营改增后如何对建安企业进行税务稽查
  • 小微企业的资产总额看哪里判断的
  • 发票丢失税局怎么罚款
  • 子公司之间固定资产划转 增值税会计处理
  • 公司需要给员工提供的帮助
  • 货到付款一般付多少运费
  • win11怎么调整任务栏位置
  • 应纳税所得额怎么理解
  • mac系统回到桌面快捷键
  • 补丁自动过期怎么解决
  • 财务指标有哪四类
  • linux递归创建目录命令
  • php写一个函数,算出两个文件的相对路径
  • 若依系统怎么样
  • 经营租出的设备要计提折旧吗
  • php输出表格css
  • 承包安装工程
  • 不接受商业承兑会怎么样
  • 固定资产无形资产计提折旧是当月还是次月
  • 投资收益的核算依据
  • 外币报表折算差额会计分录
  • 电子税务局税种核定在哪里
  • mysql显示数据库语句
  • mysql好在哪里
  • 没有发票的福利支出如何入帐
  • 向投资者分配现金股利为什么会导致所有者权益减少?
  • 外出经营税收缴纳
  • 其他应收款增加会计分录
  • 上年多做了收入的事情
  • 固定资产处置时发生的清理费用
  • 已抵扣认证的发票开红字发票需要将原票退回吗
  • 财产转让收入属于什么收入
  • 如何处理固定资产报废
  • 怎么开公司的微信公众号
  • 现金流量表现金及现金等价物净增加额
  • 工程项目立项前包括哪几个过程
  • 配件销售人员应该具备哪些能力
  • 季度平均人数怎么算出来的
  • 进口料件内销的关税和增值税怎么计算
  • 应交增值税明细表公式
  • mysql如何优化sql查询
  • mysql数据库使用教程
  • mysql 5.6.23 winx64.zip安装详细教程
  • ensmix32.exe进程安全吗 ensmix32进程是什么文件产生的
  • 如何关闭windows密钥
  • linux用户账户管理
  • Windows10 Redstone首个预览版即将发布 开始推送全新的预览分支
  • debian怎么用
  • linux中统计字符命令
  • 系统干净启动
  • div滚动条怎么设置
  • listview.selecteditems
  • shell 批量执行命令
  • opengl画直线
  • js鼠标移入事件
  • node.js中的http.createClient方法使用说明
  • shell脚本学习指南
  • javascript高级程序设计电子书
  • 基于专业性的家校双向互动,需要家长的学校教育参与
  • android基础知识点
  • Android SQLite, KopDB 框架学习1——使用
  • js文本框只能输入字母
  • 宁波市税务网上营业厅
  • 进口柴油消费税是多少
  • 债权收购协议书
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设