соединения модели данных

Я борюсь с новым приложением, в котором у меня есть модель пользователя, которая имеет несколько ассоциаций с самой собой.

Например, у пользователя могут быть ученики/родители/администраторы, но все эти ассоциации также являются пользователями.

Моя идея состояла в том, чтобы создать модель соединения, в которой я указываю идентификаторы ассоциаций и тип ассоциации. К сожалению, я не знаю, как это реализовать.

Любая помощь приветствуется.

Спасибо!


person Databaas    schedule 19.11.2011    source источник


Ответы (2)


Когда модель ссылается на себя, это самосоединение. См. здесь, а также поищите в Google "самостоятельное присоединение".

Re: нужна "модель подключения"?

Ответ. Вместо «модели соединения» лучше использовать термин «таблица многие ко многим» или «таблица соединения"

Таблица «многие ко многим» нужна только в том случае, если ваши данные имеют отношение «многие ко многим». В противном случае вам просто нужно отношение «один к одному» или «многие к одному».

"У пользователя могут быть ученики" Ключевой вопрос: может ли у одного ученика быть много "пользователей"? Если это так, то вам нужна таблица многие ко многим, иначе нет.

Для родителей можно сказать, что у пользователя ровно ноль или один отец. Если это так, то таблица «многие ко многим» не нужна.

Отредактировано: К сожалению, я понимаю, что больше не знаю этого "холода". Мне пришлось бы поэкспериментировать с образцом кода, чтобы сделать это правильно. И, к сожалению, у меня сейчас нет времени. Мои извинения.

См. документ Self-Joins.

person Larry K    schedule 19.11.2011

Этот Railscast должен отвечать вашим потребностям.

person apneadiving    schedule 19.11.2011