Доброго времени суток!
Пишу срм, есть интересная задача. Имеются контакты и компании. У них есть связь многие ко многим. Но промежуточная таблица имеет дополнительные поля и указатель на 3-ю сущность.
К кому поближе положить промежуточную модель - к контактам или к компаниями? Обе модели самостоятельные и могут существовать отдельно друг от друга.
Находясь в редакторе компании я могу добавить контакты и наоборот находясь в редакторе контактов я могу добавить компании заполнив форму с дополнительными полями. Возник вопрос куда положить методы по отображению, сохранению, удалению? Выходит так что все эти действия надо обработать как со стороны контактов так и со стороны компаний. Дублировать функциональность не хочется.
В итоге я для себя на текущий момент решил сделать эту модель самостоятельной.
https://prnt.sc/q3r233
https://prnt.sc/q3r2fn
Каким было бы ваше идеальное решение?)
Промежуточная модель
-
- Сообщения: 179
- Зарегистрирован: 2018.02.05, 13:41
- Контактная информация:
Re: Промежуточная модель
Зависит от того, что важнее и как это в бизнесе устроено.
Если компания важнее, то можно поместить в компанию как здесь к проекту добавляется участник в определённые департаменты проекта с нужными ролями.
Если компания важнее, то можно поместить в компанию как здесь к проекту добавляется участник в определённые департаменты проекта с нужными ролями.
-
- Сообщения: 179
- Зарегистрирован: 2018.02.05, 13:41
- Контактная информация:
Re: Промежуточная модель
Да, я как раз на эту структуру и ориентируюсь. И все шло прекрасно, но в данном случае получается так что и контакты и компании самостоятельные сущности (могут существовать друг без друга) и между ними есть некий "мост". Его не воткнуть ни к компаниям ни к контактам.
на текущий момент сделал следующую структуру
--Associations
----CompanyContact
------Entity
--Company
----Entity
--Contact
----Entity
Сущность CompanyContact
- company
- contact
- direction
- division
- position
--------
К примеру
в контактах вывожу список компаний contact->companies
в компаниях вывожу список контактов company->contacts
но в обоих случаях я обращаюсь к одной и той же сущности. Забавно получаеться но название сущности зависит от того кто ее вызывает)) Потому в моем случае она называется CompanyContact
--------
после того как у этой модели появилось свое "место жительства" стало проще ее воспринимать.
Re: Промежуточная модель
Я бы тоже самостоятельной сущностью сделал и использовал бы и там и там. DRY.В итоге я для себя на текущий момент решил сделать эту модель самостоятельной.