Я использую Codeigniter с Ion Auth для управления пользователями. Я хотел бы создать две разные роли пользователей: одну для волонтеров и одну для организаций. Я знаю, что я могу использовать группы Ion Auth для таких вещей, как управление доступом, но что было бы хорошим способом добавить поля к различным типам пользователей (например, волонтер будет иметь поле «Языки», в то время как организация будет иметь поле «миссии»)? Должен ли я расширять класс Ion Auth для каждого нового типа пользователя и обрабатывать CRUD отдельно для каждого типа или использовать поле «groups» и идентификатор пользователя для ссылки на поля в другой таблице? Любое понимание подхода к этой общей проблеме?
Раньше у меня была такая же проблема, что я делал, это строить таблицы отношений для обработки разных групп с разными полями. Затем я немного изменил код profile (), чтобы присоединиться к таблице дополнительных отношений в соответствии с настройками группы пользователя.
Я бы начал строить реляционную базу данных.
пример:
**volunteers table** id user_id languages **organizations table** id user_id mission
Затем, в зависимости от группы пользователей, присоедините таблицу к функции profile ().
Надеюсь это поможет!
Я бы порекомендовал просто добавить все необходимые вам поля в мета-таблицу и обновить только те, которые вам нужны для каждой группы пользователей. Если вам нужно несколько групп для каждого пользователя, проверьте Ion Auth v2 .