Как правильно создать связь между сущностями и форму для этой связи?
Добрый день.
Есть две сущности - User и Territory. К одному User может относится только одна Territory, но для одного Territory может относится несколько User. Это явно OneToMany, но есть пару "но".
Во-первых, к User может вообще не относится ни одна Territory. nullable=true и дело с концом? Ну да, как вариант выхода из ситуации его можно рассмотреть.
Во-вторых, у меня есть несколько фрагментов приложения, которые каким то образом относятся к User. Territory одна из них. Поэтому я не хочу плодить в таблице users поля territory_id, blablabla_id, foo_id, bar_id и т.д. по мере роста приложения.
Отсюда вопрос - как организовать связь между User и Territory в третьей таблице (user_to_territory например).
Никак.
Третью таблицу Доктрина сделает за тебя сама.
И, да - "плодить" придется. Со временем ты поймешь, какое это счастье, когда все связи явно прописаны в сущности, и не надо метаться бешеной собакой по коду, чтобы отыскать, как у тебя сущности относятся друг к другу.
territory_id в User это нормально - все так делают, точнее в User будет просто territory, а territory_id будет уже в базе.
Бывает связь через третью таблицу, но это для связи много ко многим.