Doctrine архитектура и построение связей, как правильно?
Помогите советом. Есть допустим три таблицы table_user, table_email, table_code.
- `table_user` содержит первичный ID поле с именем `user_id`
- далее в таблицах `table_email` и `table_code` есть поле `user_id`
То есть, в таблице `table_user` нет ни поля `email_id` ни поля `code_id` при этом джоинами легко вытянуть все данные о пользователе одним запросом.
Как такое реализуется в Доктрине на уровне объявления связей? Я просто нашел только способ, при котором нужно добавлять в `table_user` поля `email_id`, `code_id`..
философия доктрины - мы проекируем систему исходя из взаимодействия объектов, база данных лишь деталь реализации.
То есть у нас есть объекты User, UserEmail и UserCode. У объекта User есть поля emails и codes. Иии все. При желании мы можем сделать bidirectional связь и тогда у UserEmail/UserCode появится поле user, которое будет содержать владельца, но как правило это не нужно.