比如发布商品,标题,单价,属性... 还有一个产品图片,而产品图片一般是选择图片后就上传了图片,这时候产品应该入库啦,这时候还不知道这个商品ID,这样怎么关联商品?
如果是提交后修改,这时候知道了商品ID。在上传图片的时候就能关联商品ID
多图,不知道怎么做
比如发布商品,标题,单价,属性... 还有一个产品图片,而产品图片一般是选择图片后就上传了图片,这时候产品应该入库啦,这时候还不知道这个商品ID,这样怎么关联商品?
如果是提交后修改,这时候知道了商品ID。在上传图片的时候就能关联商品ID
多图,不知道怎么做
关于“多个图片”这一点,我想问两个问题:
(1)图片数量是不是不多?
(2)是否需要一起得到所有图片的文件名?
注意第二点不是说非得把所有图片立刻全部显示出来。(例如网上商城的APP,商品一点开必然只下载显示第一张图片,左右划动时其他图片要转圈圈等下载。但所有图片的URL肯定是立刻全都知道的,不可能划动时先去查询其他图片的网址,再去下载图片内容,白白浪费一次http请求)
如果这两个问题的答案都是“是”,则建议根本不要建立关联表,而是用一个json格式*字段,把所有图片的文件名做成个数组塞在一起就行,非常的简单有效。同时通过数组格式还可以实现最为简便可行,无需任何代码的排序功能。
*:pgsql等有原生json字段的可以用,mysql等无原生json字段的用text等效之。当然也可不用json,例如用|
等特殊符号分开也很简单易行。
图片上传后把图片的地址和ID存入一个表
然后把ID和产品的ID关联起来
表结构大概如下:
商品表
ID | ...
关联表
goods_id | image_id
图片表
id | image_url
或者减少一个表直接在关联表里面存图片 url。那样灵活性会差一些。
1、将准备加图的商品id,商品名称导出。
2、将图片命名 商品id.jpg这种格式。
3、图片上传之后的存储到它表,字段为 id,商品id,图片地址;
其中商品id明显可以从图片名字中获取到。
类似与这种简单的sql就能关联上咯。
select ... from t_product as A,t_pic as B where A.product_id = B.product_id
3 回答2.6k 阅读✓ 已解决
3 回答4.1k 阅读✓ 已解决
8 回答3.8k 阅读
4 回答2.8k 阅读✓ 已解决
2 回答2.7k 阅读✓ 已解决
3 回答2.6k 阅读✓ 已解决
3 回答1.7k 阅读✓ 已解决
1.将上传图片服务独立出来,与具体业务无关,只返回图片的URL
2.上传完图片后,将图片的URL写入input hidden域,和创建或更新表单一起提交,在此做保存或更新操作
3.数据库表结构设计参考楼上的