位置: 编程技术 - 正文

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

  • 个人服务费发票几个点
  • 借款给别的公司收到的利息会计分录怎么写
  • 交易性金融资产属于什么科目
  • 预付加油卡发票可以报销吗
  • 律师费的发票税率怎么算
  • 应交税费负数调整
  • 销售自产设备税率
  • 河道工程维护管理费征收
  • 企业设备维修管理制度
  • 会计档案的概念和内容
  • 坏账准备税务处理办法
  • 印花税按次申报是什么意思
  • 2018手写发票何时失效?
  • 应扣缴税额是什么意思
  • 公司帮员工买的保险
  • 外币业务汇兑损益根据业务划分为
  • 个人独资企业需要缴纳哪些税种
  • 造价咨询暂定级能接业务吗
  • 税控设备指什么
  • 股东不发工资只给员工钱
  • 在win10中怎么从edge旧ie浏览器
  • 建筑行业企业所得税怎么征收
  • PHP:Memcached::touch()的用法_Memcached类
  • PHP:base64_encode()的用法_url函数
  • 物资销售经营范围
  • 发票未认证丢失怎么补办
  • 不征税收入税收政策
  • 转入固定资产清理会计科目
  • 封装和调用
  • yolo v5详解
  • 接口多继承的写法
  • Github ChatGPT-Web:了解最新AI技术的前沿应用!
  • service iptables save
  • 增值税发票认证不了怎么回事
  • 错账的类型及对应的更正方法
  • php判断数据类型
  • 收到预付款怎么入账
  • 退诉讼费计入什么科目
  • 购买税控设备的分录怎么做
  • 实际发生坏账损失不影响应收账款
  • 用房子贷款印花税怎么算
  • 金蝶软件修改凭证
  • c#获取局域网ip
  • 企业销售已使用的车辆
  • 什么是金融资产和金融负债
  • 非营利性养老院收费标准一般是多少
  • 应付利息核算的会计分录
  • 销售产品产生的运输费计入什么科目
  • 现金流动负债比率越大越好吗
  • 个人账户打流水需要本人吗
  • 技术服务费发票样本
  • 什么是库存现金限额
  • 没有发票的费用可以税前扣除吗
  • 年初资产总额怎么算
  • 新开办企业如何建账
  • mysql优化sql有哪些
  • mysql多表连接的方式
  • sql指定字段添加数据
  • win8.1所有程序在哪里
  • 提高搜索引擎检索效果的方法
  • win8.1系统更新后启动不了
  • win8.1技巧
  • macbook系统截图
  • 内存使用过低
  • windows7模块安装程序可以关闭吗
  • 怎么把系统从win10换成win7
  • w10qq图标不显示
  • js new option
  • 嵌入js
  • Android游戏开发打砖块
  • Node.js中的construct构造函数
  • nodejs promise.all
  • linux curl命令详解
  • node react vue
  • jquery 异步加载
  • 江苏税务怎么登陆
  • 爱信诺开票系统怎么安装
  • 国家税务认证平台是什么
  • 会计人员的立场
  • 迅雷网站官网下载
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设