Здравствуйте подскажите пожалуйста у меня есть модель категорий Category и картинки Image ну и соответствующие таблицы в БД этим моделям. Категория может иметь только одну картинку, и я подумал сделать связь между Category и Image "Один к одному", но у меня ещё будет модель товаров Product, у товаров может быть много картинок, соответственно если использовать только одну таблицу модели Image и для категорий и для товаров, то как то не правильно получается. И что тогда лучше сделать ? Я подумал может сделать отдельную модель картинок для категорий и отдельную модель для товаров, но тогда как быть с методами общими для картинок, к примеру методы: сохранение картинки, удаление и т.д. А если использовать связь "Многие ко многим" то тогда возможно проблема в скорости выборки появляется и в числе таблиц т.к. тогда придется создавать промежуточные таблицы.
Подскажите что вот лучше сделать в такой ситуации ? Заранее благодарю за ответ.
Сергей Хлопов, jHaoDa абсолютно прав. В проекте 100-200 таблиц - тормозов не вижу. Но в случае с картинкой категории я бы вообще не стал делать отдельную модель, сохранял бы путь в модели категории. Зависит от задачи как это будет использоваться. Нужно ли генерировать ватермарки например или еще какая то бизнес-логика.
2vtlk, благодарю вас, да вот вчера кстати узнал что у категории будет несколько картинок, хотя возможно что одну картинку я буду добавлять прямо в модель категории и это будет аватаркой а другие в модель Image
А подскажите пожалуйста, я сейчас вот читаю про полиморфные связи, и собственно такой вот вопрос возник.
Если у меня есть 4 модели:
Category
Product
Blog
information
И я хотел бы все эти модели связать с одной моделью Image, опять же через полиморфные связи. Но просто меня немного останавливает такой момент, что получаться большая таблица images скорее всего, и это наверно затруднит выборку. Я сделал пока такую вот миграцию:
На entity_id вешаю индекс, но он не уникальные будет. Подскажите пожалуйста может тогда стоит делать полиморфные многие ко многим ? Но это тогда наверно не совсем правильно будет т.к. многие ко многим говорит о том, что есть сущности у которых есть много картинок и есть картинки у которых есть много сущностей, а это собственно не так ведь.
JhaoDa, Благодарю вас, ну где то близко к 1 000 я думаю, со временем будет только расти, при добавлении, товаров, категорий, статей и т.д. А ну да nullable() там не нужен. Почитаю ещё про составные индексы, благодарю вас
JhaoDa, а подскажите пожалуйста я так понимаю что достаточно просто добавить ещё один index верно же ? И это будет уже составной индекс, просто у меня сейчас в общем такая вот миграция:
nullable оказался всё таки нужен) я сначала создаю объект с заполненным src а потом прикрепляю его к сущности, если без nullable ругается на то что не заполнены entity_id и entity_type