MySQL решение для сгруппированных изображений? - PullRequest
0 голосов
/ 18 октября 2018

Я ищу кого-то, кто может помочь мне найти способ хранить несколько изображений в виде группы в 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' (идентификатор основного изображения) это то, что я, хотя и мог работать, но вызывал проблемы при извлечении из базы данных MySQL.

Любая помощь будет оценена.

1 Ответ

0 голосов
/ 18 октября 2018

Я не знаю, какая именно у вас проблема с вашим текущим подходом, но я бы посоветовал просто использовать следующее определение для таблицы images:

images (id, user_id, uploaded_at, path)

Затем создайте таблицу соединенийкоторый связывает изображения с их группами:

image_groups (image_id, group_id)

Нам больше не нужен столбец is_grouped, потому что мы можем просто проверить image_groups, чтобы увидеть, появляется ли изображение в группе и / илиесли эта группа имеет более одного изображения.Точно так же столбец grouped_to теперь стал избыточным, потому что таблица соединений хранит эту информацию.Обратите внимание, что вам также может потребоваться таблица groups, в которой могут храниться некоторые метаданные о каждой группе изображений, такие как имя, время создания и т. Д.

...