You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何为尚不存在的元素创建MorphMany关联链接?

解决方案

方案1:新增临时关联标识字段(推荐)

  • 给images表新增两个可空字段:temp_upload_id(字符串/UUID类型)、expired_at(时间戳类型)
  • 用户进入评价页时,前端生成一个全局唯一的temp_upload_id存在本地缓存,所有预上传的图片都带上这个标识,存入images表时model_type、model_id留空,填充temp_upload_id和expired_at(可设置为上传后24小时过期)
  • 用户正式提交评价成功后,拿到新生成的review记录ID,批量更新所有带当前temp_upload_id的图片,填充model_type为对应Review模型命名空间、model_id为新评价ID,同时清空temp_upload_id和expired_at字段
  • 后台加定时任务,每天删除expired_at已过期且model_id为空的图片,同时清理对应的存储文件,不会产生冗余垃圾数据

方案2:调整多态关联字段约束

  • 把images表的model_type、model_id改为可空,上传预上传图片时这两个字段留空,同时记录上传用户的ID、上传场景标识(比如scene=review_upload)
  • 提交评价时,筛选出当前用户本次上传的未关联图片,批量绑定到新生成的评价记录上
  • 同样加定时任务清理超过24小时未关联的图片即可

额外优化点

  • 预上传图片时可以压缩、格式转换后再存,减少存储占用
  • 前端可以限制单次评价最多上传的图片数量,避免无效上传
  • 提交评价时如果用户主动取消操作,前端可以主动调用接口删除已上传的临时图片

内容的提问来源于stack exchange,提问作者Sergey

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.03 11:36:01