一对多关联如何删除高效的更新关联表中的数据

文章表和图片表进行一对多关联时,在文章编辑页面进行文章修改并对关联的图片进行修改后提交数据保存,应该使用什么方法才能高效的更新。
详细说明:
在文章编辑页面,文章标题修改后,又把文章关联的4张图片删除了一张,修改完之后提交修改数据,前台把数据传给后台的是一个文章和3个照片。按照最简单易懂的方式就是把这个文章关联的照片全部删除然后重新插入三张照片。但是这样全删再全插入的方式很消耗性能,有没有其他更好的方法。

《L04 微信小程序从零到发布》
从小程序个人账户申请开始,带你一步步进行开发一个微信小程序,直到提交微信控制台上线发布。
《L03 构架 API 服务器》
你将学到如 RESTFul 设计风格、PostMan 的使用、OAuth 流程,JWT 概念及使用 和 API 开发相关的进阶知识。
讨论数量: 17

在前端请求编辑文章时,把图片表的 url 地址和 id,都返回给前端,前端在删除一个图片后,在 del_arr 对象中添加这个 id, 同理,在上传图片后,存储在 add_arr 对象中。

后端接口接收到请求数据后,对于图片的处理去遍历 del_arradd_arr 这俩对象就可以确定删除哪个图片,上传哪个图片了。 并不需要重新删除写入一次。

2年前 评论
qixi0313 (楼主) 2年前
MArtian (作者) 2年前
qixi0313 (楼主) 2年前
MArtian (作者) 2年前
qixi0313 (楼主) 2年前
qixi0313 (楼主) 2年前
MArtian (作者) 2年前
qixi0313 (楼主) 2年前
MArtian (作者) 2年前

创建文章就不说了,直接插入关联数据。

但在编辑时删除图片,我想象中的 ui 应该是在所有图片的右上角都有删除图标,当我点击删除时,我会发出 ajax 请求接口,来删除这个模型中关联的图片ID。

如果在编辑时插入图片,我会继续 ajax 请求来插入单条模型中关联的图片。

这时要区分当前是在创建还是在编辑,创建时不需要进行 ajax ,因为这时候你还没拿到文章ID,当编辑时会拿到文章ID,ajax请求就根据这个ID去操作关联数据即可

2年前 评论
qixi0313 (楼主) 2年前
畅畅 (作者) 2年前
畅畅 (作者) 2年前

获取文章的图片,然后算差集,就知道要删除哪个,要添加哪个。然后作出对应的操作即可。

2年前 评论
qixi0313 (楼主) 2年前
skys215 (作者) 2年前

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!