Надлежащее использование через ассоциацию - PullRequest
0 голосов
/ 11 января 2019

В настоящее время используется:

Sequelize, Postgres, Nodejs

Положение:

У меня есть модель User с некоторыми личными данными (firstName, lastName, dateOfBirth, ...)
Модель User имеет несколько ассоциаций hasOne с другими моделями (UserAddress, UserContact, ...), которые в свою очередь имеют ассоциацию belongsTo с соответствующими User. Проверка таблиц показывает, что эти другие модели имеют столбец UserUuid.

В своем интерфейсе я хочу сразу же уведомить пользователя о том, какую информацию он заполнил для адреса, телефонного контакта и т. Д.

Я создал модель UserDetail, которая содержит столбец для каждой из таблиц для получения дополнительной информации, принимая ENUM с параметрами empty, incomplete, complete. UserDetail имеет hasOne ассоциации с этими моделями, которые также имеют belongsTo ассоциацию взамен.
Также User hasOne UserDetail & UserDetail belongsTo User.

Это самая эффективная установка?

Мне интересно, может ли это использовать ассоциацию through, потому что любая таблица, такая как UserAddress, имеет столбец UserUuid, а также столбец UserDetailId. Тем не менее, в документах с секвелированием, по-видимому, используются ассоциации through только тогда, когда существует отношение belongsToMany или hasMany, поскольку в этом случае используется только 1: 1.

...