У ORM есть 3 способа сделать это
Первый способ - дать каждому отдельную таблицу и объединить их.(3 таблицы)
Второй способ работает только в том случае, если ваш класс пользователей является абстрактным, тогда вы берете 2 таблицы для своих подклассов.
И последний и мой любимый способ.Вы складываете все в одну таблицу и вводите столбец дискриминатора.в основном составляют таблицу, содержащую все поля пользователей, студентов и работников.добавить дополнительный столбец для типа и заполнить их соответственно.Вы можете легко выбрать всех учащихся / работников, используя колонку дискриминатора, и вам не нужно спамить объединения.Недостатком является то, что он занимает дополнительное пространство.