include_join_fields
са за релации много към много, където имате countries_users
обобщена таблица и потребителите могат да принадлежат към много държави.
Например, можете да вземете един user
и countries
, където принадлежи. Но вие също така съхранявате, как е user
свързани с тази country
. Трябва да съхраните това допълнително поле във вашата обобщена таблица:countries_users
.
И така, вашата обобщена таблица, countries_users
ще изглежда нещо подобно, с примерно допълнително поле is_he_working_there
:
id
country_id
user_id
is_he_working_there
Когато правите заявка за страните на потребителя, Datamapper няма да добави това поле по подразбиране. И тук идва include_join_field()
, така че ако го извикате, Datamapper ще добави това поле към крайния резултат.
Но с hasone
, това няма да има ефект, защото получавате потребителя и другите полета на таблицата също. Тук няма обобщена таблица, така че нямате нужда от include_join_fields()