我正在寻找可以帮助我实现将多个图像作为一组存储在mysql中的方法的人。
基本上,用户将多个图像(例如3个图像)作为一个组上传(1个POST),我如何将它们存储在数据库中。
这就是我现在存储图像的方式。
+-------------+------------------+------+-----+-------------------+----------------+
| Field | Type | Null | Key | Default | Extra |
+-------------+------------------+------+-----+-------------------+----------------+
| id | int(10) unsigned | NO | PRI | NULL | auto_increment |
| userid | int(11) | NO | | NULL | |
| uploaded_at | datetime | YES | | CURRENT_TIMESTAMP | |
| path | varchar(255) | NO | | NULL | |
| is_grouped | int(11) | YES | | 0 | |
| grouped_to | int(11) | YES | | 0 | |
+-------------+------------------+------+-----+-------------------+----------------+
'is_grouped'(0或1)和'grouped_to'(主映像的ID)是我虽然可以正常工作,但在从mysql数据库检索时却引起了问题。
任何帮助将不胜感激。
答案 0 :(得分:0)
我不知道您当前的方法有什么确切问题,但是我建议仅对images
表使用以下定义:
images (id, user_id, uploaded_at, path)
然后,创建一个联结表,将图像与它们的组相关联:
image_groups (image_id, group_id)
我们真的不再需要is_grouped
列,因为我们只需检查image_groups
即可查看该图像是否出现在一个组中和/或该组中是否有多个图像。同样,grouped_to
列现在已变得多余,因为联结表存储了此信息。请注意,您可能还需要一个groups
表,该表可以存储有关每个图像组的一些元数据,例如名称,创建时间等。