java - 数据库设计模式:多个图片怎么和商品关联
伊谢尔伦
伊谢尔伦 2017-04-17 13:15:37
[Java讨论组]
伊谢尔伦
伊谢尔伦

小伙看你根骨奇佳,潜力无限,来学PHP伐。

全部回复(5)
天蓬老师

1.将上传图片服务独立出来,与具体业务无关,只返回图片的URL
2.上传完图片后,将图片的URL写入input hidden域,和创建或更新表单一起提交,在此做保存或更新操作
3.数据库表结构设计参考楼上的

迷茫

关于“多个图片”这一点,我想问两个问题:

(1)图片数量是不是不多?
(2)是否需要一起得到所有图片的文件名?

注意第二点不是说非得把所有图片立刻全部显示出来。(例如网上商城的APP,商品一点开必然只下载显示第一张图片,左右划动时其他图片要转圈圈等下载。但所有图片的URL肯定是立刻全都知道的,不可能划动时先去查询其他图片的网址,再去下载图片内容,白白浪费一次http请求)

如果这两个问题的答案都是“是”,则建议根本不要建立关联表,而是用一个json格式*字段,把所有图片的文件名做成个数组塞在一起就行,非常的简单有效。同时通过数组格式还可以实现最为简便可行,无需任何代码的排序功能。

*:pgsql等有原生json字段的可以用,mysql等无原生json字段的用text等效之。当然也可不用json,例如用|等特殊符号分开也很简单易行。

PHPz

图片上传后把图片的地址和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
阿神

你可以参考Bmob后端云的关联查询和数组这些特殊字段的设计,设计一个伸缩性强的数据库。

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号