@knowledge

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

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

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

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

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

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

Войти через центр авторизации
Похожие вопросы