Лучше одну модель под контент или под каждый свой?
На сайте у меня планируется разного рода контент, например новости, интервью, переводы и т.д, в целом много набегает, штук 10 разновидностей
и вот я задумался, лучше ли сделать одну общую модель, типа Content, где будет поле типа type, определяющее что за контент или лучше сделать отдельные модели под новости, интервью и т.д.
в принципе поля там будут плюс/минус похожие
новости
заголовок - описание - новость
в интервью
заголовок - интевью (поле описание можно оставить пустым, если будет одна модель)
Если логика одинаковая или отличается незначительно, то будет достаточно одной модели. Это более удобный вариант, особенно если выборки по контентным записям будут смешанными. Но нужно иметь уверенность, что в будущем не понадобится принципиального разделения.
Если работаете через Active Record, то лучше на каждую сущность отдельную модель (класс). Такое дублировние кода не всегда плохо - зависит от сложности работы каждой модели и от различий в их функционале.
При этом в БД у вас может быть и одна таблица Contents в которой хранятся все типы содержимого, а для фильтрации каждой модели применить global scope, например.
Одинаковые методы моделей полключать через traits.