位置: 编程技术 - 正文

关于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写接口)

  • 扣非净利润和净利润的区别举例说明
  • 电子税务局的购票方怎么删除
  • 促销费用计入销售费用哪个科目
  • 其他权益工具账务处理内容
  • 暂估成本会计处理
  • 费用报销哪些可以不用合同的
  • 税务局代开发需要盖章吗
  • 印花税购销合同计税金额怎么算
  • 企业购买电话充值卡的分录
  • 汇算清缴的利润表本期数与本年数
  • 盈亏平衡点产量越高,项目风险越大
  • 企业税费计算
  • 税务局多扣的税可以退吗
  • 提前退休获得一次性补贴要交个人所得税吗?
  • 旅行社开具会议费发票可以差额征税吗
  • 6种个人所得税违规手段,财务人再小心别跳坑!
  • 同一控制下企业合并入账价值
  • 企业所得税季报是填累计数吗
  • 盈余公积为0说明什么问题
  • 费用销售收入占比怎么算
  • w11系统防火墙
  • 微软surfacepro3上市时间
  • php缓存机制有哪些
  • 有限合伙企业如何退出合伙人股份
  • 农产品增值税进项税额
  • linux1970
  • win7系统配置服务哪些启用
  • 长期债券投资减少是计入贷方吗?
  • 预计负债的所得税怎么算
  • php实现上传文件
  • vueity
  • 激光雷达lidar特点
  • 亏损弥补政策
  • 电梯安装行业分类
  • 一般纳税人销售自行开发的软件产品
  • 非正常损失的原材料进项税额可以抵扣吗
  • 长期借款利息是流动负债吗
  • mysql的一些命令
  • 5月份工作重点
  • 间接费用允许调整吗
  • 货物搬运费会计科目
  • 个体户开发票超过定额是如何交税?
  • 应交税费的明细账怎么登记
  • sqlserver2016维护计划
  • mysql最新版怎么中文
  • 勘察设计费取费
  • 应收账款的客户如何分析
  • 宾馆手撕发票图片
  • 支付职工一次性补助
  • 公司两年未给员工申报个税违法吗
  • 跨年的社保,账务怎么处理?
  • 政府补贴收入确认政策
  • 应收账款多收了退回怎么做账
  • 小规模纳税人残保金减免政策
  • 工资是先做后拿还是先拿后做
  • 低值易耗品有哪些种类
  • 房地产企业成本控制存在的问题及对策
  • 工资核算模块初始设置的内容有
  • sqlserver数据库优化的几种方式
  • sql比较数值大小
  • mysql增删改查面试题
  • 火狐firefox浏览器华为
  • zmweb.exe是什么进程
  • ubuntu14.04挂载硬盘
  • ubuntu修改ip地址方法
  • win7系统如何删除隐藏文件
  • spools.exe - spools是什么进程 有何作用
  • win8.1系统怎么样
  • win10 rs4
  • linux文件目录管理命令
  • javascript如何学
  • linux百度网盘安装
  • 比较详细的手把件有哪些
  • 利用forever和pm2部署node.js项目过程
  • 服务器限制流量
  • jquery知识点总结
  • 广东税务增值税发票查验平台
  • 税务局无编制人员工资
  • 增值税电子普通发票和普通发票区别
  • 国税注销需要什么资料
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设