grabbee
@grabbee

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`..
  • Вопрос задан
  • 634 просмотра
Решения вопроса 1
Fesor
@Fesor
Full-stack developer (Symfony, Angular)
философия доктрины - мы проекируем систему исходя из взаимодействия объектов, база данных лишь деталь реализации.

То есть у нас есть объекты User, UserEmail и UserCode. У объекта User есть поля emails и codes. Иии все. При желании мы можем сделать bidirectional связь и тогда у UserEmail/UserCode появится поле user, которое будет содержать владельца, но как правило это не нужно.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
VladimirAndreev
@VladimirAndreev
php web dev
самый простой способ - создать эти таблицы в базе, настроить внешние ключи и сделать по этому рецепту.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы