Ответы пользователя по тегу MySQL
  • Как лучше ассоциировать модель и файлы/изображения относящиеся к ней?

    Screamie
    @Screamie
    Full-stack разработчик
    На мой взгляд лучше всего подойдет связующая таблица. И не нужно создавать запись с null при сохранении модели, на тот случай если у модели не будет прикрепленного файла, что бы не плодить пустые записи в БД.

    Структура БД может быть такой

    resource
    -----------
    id:PK
    name
    description

    resource_file
    ---------------
    resource_id:PK
    file_id:PK

    file
    ---------------
    id:PK
    path
    description

    И создать индексы для всех таблиц и внешние ключи для resource_file.resource_id и resource_file.file_id.

    Таким образом вы сможете, например, сохранять несколько файлов для одной модели. А если правильно настроить связи с каскадным удалением, то можно переложить эту логику на БД, что бы не чистить базу вручную после удаления записи модели.
    Ответ написан
    Комментировать