У меня есть веб-приложение, которое позволяет пользователям создавать группы. На первой странице приложения любой пользователь может - без регистрации - создать группу и добавить других пользователей в группу, введя имена в список текстовых входов. Затем пользователь, создавший группу, должен пригласить людей в список, добавив электронное письмо к каждому из имен. Причина, по которой я хочу, чтобы пользователь сначала предоставлял только имена, а ivitations по электронной почте, - это то, что я хочу, чтобы пользователь мог попробовать приложение и его функциональность до регистрации.Моделирование данных группы и пользователей
Так что у меня есть две модели: Group
и User
со многими отношениями. Для модели пользователя требуется уникальный адрес электронной почты, поэтому я не могу создавать новые пользовательские объекты для каждого пользователя в группе. Итак, как бы убедиться, что временные пользователи, добавленные в группы, будут сопоставлены пользователям, созданным с помощью приглашения, или если приглашенный пользователь уже имеет пользователя в приложении?
Я думал о создании модели Profile
, которая имела бы имя и принадлежность к группе и пользователю, но таким образом каждый пользователь имел бы профиль для каждой из групп, к которым он принадлежит. Я не могу думать о других альтернативах, но должен быть один ...
Это, конечно, хорошая отправная точка :) Я думаю, что я хотел бы упомянуть, мне просто нужно помочь с моделированием. Мое мозг к возможностям преобразования базы данных довольно хорошо, но мой мозг просто не может понять, как помещать пользователей в группы - сначала использовать только имя, а затем приглашать их по электронной почте, и сделать shure для сопоставления любых существующих пользователей или пользователей, две разные группы одновременно с правыми группами. Имеет ли это смысл? – schwift
:) ОК, поэтому вам нужно начать с чего-то и пошаговую модель вашей схемы. Проверьте этот образец http://stensi.com/datamapper/pages/schema.html, это сырой sql. повеселись – include