Как правильно организовать код при оптимизации/разделению таблиц БД
Имелась таблица Users и к ней одноименная модель
id
name
...
facebook
telegram
phone
теперь она разделена на две таблицы - все контакты/соцсети вынесены в отдельную UserContacts
id
type
contact_name
type - это тип контакты определенный в модели UserContact как константы.
Модель User связана с UserContact как один-ко-многим. Подобных связей есть еще несколько.
И здесь какраз и вопрос - хотелось бы логику получения/сохранения данных организовать в соответствующих моделях, а не все лепить в модели User ($this->contacts()->firstWhere('type', UserContact::FACEBOOK)->...).
Как это все правильно разрулить?