Хорошо, так что, если я правильно понял.
Наемный работник является членом семьи, поэтому вы не можете сделать это. У Находящего есть один член семьи
Прежде всего, простыми словами, модель - это реализация таблицы базы данных.
Поскольку у вас нет таблицы получателей, вам не нужна модель с именем Earner
У меня есть один вопрос, чтобы прояснить:
Бенефициар - это член семьи, а кормилец тоже является членом семьи, верно?
Тогда, по моему мнению, ваши таблицы будут:
Families
Family_members
Beneficiaries
В Families
таблица:
Семья просто будет иметь id
и name
В Family_members
таблица:
У члена семьи будет id
, name
, family_id
, is_earner
В Benficiaries
таблица:
Получатель получит id
, family_id
, family_member_id
Таким образом, сказав, что вы можете контролировать, что в таблице Beneficiaries
должны быть уникальные записи для family_id
и family_member_id
вместе, это означает, что эта таблица будет содержать только бенефициара каждой семьи, и каждая семья должна иметь только 1 запись в этой таблице.
Для тех, кто зарабатывает, в логическом столбце is_earner
будет указано, зарабатывает ли family_member
семья или нет, при этом в каждой семье будет много заработков (что имеет смысл)
Дайте мне знать, если у вас есть дополнительные вопросы или я что-то не так понял в вашем вопросе!