Задать вопрос
@knowledge

Лучше одну модель под контент или под каждый свой?

На сайте у меня планируется разного рода контент, например новости, интервью, переводы и т.д, в целом много набегает, штук 10 разновидностей

и вот я задумался, лучше ли сделать одну общую модель, типа Content, где будет поле типа type, определяющее что за контент или лучше сделать отдельные модели под новости, интервью и т.д.

в принципе поля там будут плюс/минус похожие
новости
заголовок - описание - новость
в интервью
заголовок - интевью (поле описание можно оставить пустым, если будет одна модель)

как все таки принято делать в таких случаях?
  • Вопрос задан
  • 93 просмотра
Подписаться 1 Простой Комментировать
Пригласить эксперта
Ответы на вопрос 3
@Yan-s
Если логика одинаковая или отличается незначительно, то будет достаточно одной модели. Это более удобный вариант, особенно если выборки по контентным записям будут смешанными. Но нужно иметь уверенность, что в будущем не понадобится принципиального разделения.
Ответ написан
Комментировать
usdglander
@usdglander
Yipee-ki-yay
Можно одинаковые поля вынести в одну модель (Типа Entity), а остальные поля можно подключать через DI.
Ответ написан
Комментировать
@iljaGolubev
Если работаете через Active Record, то лучше на каждую сущность отдельную модель (класс). Такое дублировние кода не всегда плохо - зависит от сложности работы каждой модели и от различий в их функционале.
При этом в БД у вас может быть и одна таблица Contents в которой хранятся все типы содержимого, а для фильтрации каждой модели применить global scope, например.
Одинаковые методы моделей полключать через traits.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы