其实关于一对多怎么写我找了很多相关的资料,但是要么就是翻译的,要么就是照搬别人文章的。因此我在这里将自己写的代码记录在这里,希望能帮到有需要的人。

首先文章可以有多个评论,所以显然文章跟评论是一对多的关系。所以第一步,我们需要确定文章这个model和评论这个model两者之间的关系。

先贴上两个model

Article

Comment

定义好两张表后,使用下面的代码,

hasMany表示Article有很多个Comment,说明Article是一对多的一,

belongsTo表示Comment属于Article,说明Comment是一对多的多。

那么很多文章其实到这里就结束了,并没有说要怎么使用,所以这里我展示一下这两行代码执行之后到底发生了什么。

首先,我们要知道Comment这个Model只有4个字段,而我们在数据库中却看到如下的情况

这里最后居然多了一个articleId字段出来,这个字段就是用来关联Article这个数据表的主键id的,我们可以通过这个articleId,知道这条评论是属于哪篇文章的。(createAt跟updateAt这两个字段是可以通过设置取消掉的,这里读者只要忽略这两个字段就可以了

既然Comment这个数据表发生了变化,那么Article这个数据表呢?我们看一下

我们看到Article这个数据表中没有添加新的字段,那我们怎么获取文章对应的所有评论呢。

为此,我们可以在代码中console.log()一下看看,注意then中的console.log(articles)语句

我在这里查找了所有的Article,然后打印出来看一下看看是什么情况

我们居然发现打印出来的Article中,在dataValues中居然有一个comments,它的值是一个数组类型的对象。因此,虽然我们在数据表中看不到这个字段,但是我们却可以通过打印的方式看到这个文章对应的所有评论。

那么我们又是通过怎样的方式来拿到文章对应的所有评论呢,

通过下面的方式,我们就能找到所有的文章以及所有文章对应的评论了,

而且这个地方我们通过order对评论按照创建时间进行了降序排序。

除了通过在后台看到comments,我们还可以在vue中打印一下看看请求的结果是什么

这里是将请求的结果返回给前端,我们看到我们返回的是articles,

然后我们进入vue代码看看,这里将后台返回的结果打印出来

控制台的显示结果

我们可以看到返回的结果中是有comments这样一个属性的,所以我们也可以在前台拿到文章对应的所有评论,然后渲染在页面上了。

那么关于通过sequelize使用一对多来实现文章与评论的一对多关系就说到这里了。

使用Sequelize实现文章和评论的一对多关系并实现评论的按时间排序相关推荐

  1. php按文章评论数排序,zblog获取分类文章排序按指定的时间排序、评论数量排序、浏览数量排序...

    Zblog PHP在1.8版本的时候想要调用多个分类的文章,并且按照自己的需求去排序是很简单的事情,很多博友也利用这个方法进行最新文章排行.热门评论文章排行等等操作,现在随着ZblogPHP版本的升级 ...

  2. Php Laravel框架 多表关系处理 之 Eloquent一对多关系处理

    Php Laravel框架 多表关系处理 之 Eloquent一对多关系处理 本博文主要介绍 Laravel 框架中 Eloquent  对一对多关系的处理以及在 Laravel Administra ...

  3. php hasmany,浅谈laravel orm 中的一对多关系 hasMany

    个人对于laravel orm 中对于一对多关系的理解 文章表 article,文章自然可以评论,表 comment 记录文章的评论,文章和评论的关系就是一对多,一篇文章可以有多个评论. 在 comm ...

  4. SAP UI5 应用开发教程之七十七 - SAP UI5 动态页面路由的高级用法:路由记录 routes 和 target 的一对多关系试读版

    一套适合 SAP UI5 初学者循序渐进的学习教程 教程目录 SAP UI5 本地开发环境的搭建 SAP UI5 应用开发教程之一:Hello World SAP UI5 应用开发教程之二:SAP U ...

  5. flask sqlalchemy一对多关系详解

    下面的一对多关系以作者和文章为例: 首先创建一个文章表: class Post(db.Model): id = db.Column(db.Integer(),primary_key=True) tit ...

  6. wordpress 评论ajax,WordPress教程 WordPress实现提交评论ajax翻页效果教程

    WordPress提交评论ajax翻页的效果会很大的提高用户体验度,虽然我们一般的个人WordPress博客评论也不会有很多,但是用户体验至上嘛,所以WordPress主题站小编为大家分享WordPr ...

  7. mysql 一对多 join_Mysql中FIND_IN_SET与JOIN在一对多关系查询时的优劣

    Mysql中的FIND_IN_SET函数在我知道它之前,我在做一个一对多的外键查询时,都会在中间设计一个关系表.比如一篇文章(post)对应多个标签(tag),我就会在中间设计一个关系表(post_t ...

  8. [NHibernate]一对多关系(级联删除,级联添加)

    目录 写在前面 文档与系列文章 一对多关系 一个例子 级联删除 级联保存 总结 写在前面 在前面的文章中,我们只使用了一个Customer类进行举例,而在客户.订单.产品中它们的关系,咱们并没有涉及, ...

  9. mysql 评论回复表设计_数据库设计——评论回复功能

    1.概述 评论功能已经成为APP和网站开发中的必备功能.本文主要介绍评论功能的数据库设计. 评论功能最主要的是发表评论和回复评论(删除功能在后台).评论功能的拓展功能体现有以下几方面: (1)单篇文章 ...

  10. python 评论分析_基于Python-Snownlp的新闻评论数据分析

    摘 要 网上热点新闻的评论不仅反映了民众对社会热点事件的关注程度,也反映了公众所表现出的各类情感价值和思想动态.基于Python- Snownlp经过数据采集,数据预处理,建立向量模型,数据挖掘与分析 ...

最新文章

  1. plsql(轻量版)_触发器
  2. 4行代码AC——L1-026 I Love GPLT (5分)
  3. curl查看swift状态命令_HTTP 请求与响应包括哪些,如何用Chrome查看 HTTP 请求与响应内容和curl 命令的使用...
  4. 因云而生 全新视角看阿里云服务器硬件方升架构
  5. python中try...except的用法_python try...except语句、自定义异常、raise语句使用实例(异常处理的三种方法)...
  6. OpenSSL 修复可导致 DoS攻击的高危漏洞
  7. java redis pubsub_如何从Java中的生菜RedisPubSubListener获取消息?
  8. 06-多进程之间通过Queue来实现数据共享学习笔记
  9. 昆仑通态触摸屏如何把参数由触摸屏传递到PLC_深圳PLC自动化培训哪家比较好
  10. 【Vue】Vue项目的创建以及饿了么UI的使用
  11. 正态分布c语言算法,正态分布函数的几种近似算法
  12. java编写记事本_如何用JAVA程序编写一个记事本
  13. java:comp/env 解释
  14. 《一切都是最好的安排》——加措
  15. Ubuntu 21 .1安装wps office 2019并解决字体缺失问题教程
  16. configure: error: Package requirements (libwebp) were not met:
  17. DES算法的matlab实现
  18. 北都南, 神月あおい - 小悪魔lovers
  19. ModelSim-Altera路径找不到或者不正确的解决办法
  20. Ubuntu18在4K显示器如何调分辨率

热门文章

  1. 【预测模型】预测某地区未来 20 年的人口结构变化趋势(灰色预测模型)
  2. CNZZ异步统计代码
  3. 华为U8500在USB调试模式下LOGCAT无打印信息的解决方法
  4. bzoj3097 Hash Killer I
  5. 大理旅游策划方案——定位“风花雪月”,大理游客翻倍!
  6. 最早的即时通讯软件哪一个,你知道吗?
  7. 曲苑杂坛--查看CPU配置
  8. 拉普拉斯变换的matlab仿真,拉普拉斯变换的Matlab求解方法
  9. 1-7-2 查询水果价格分数
  10. 《计算机网络 自顶向下》第二章==应用层==随堂笔记