I had the same problem before, what I did was build relationship tables to handle different groups with different fields. Then I changed the profile () code a bit to join the table of additional relations according to the settings of the user group.
I would start creating a relational database.
Example:
**volunteers table**
id
user_id
languages
**organizations table**
id
user_id
mission
Then, depending on the user group, attach the table to the profile () function.
Hope this helps!
source
share