include_join_fields
są dla wielu do wielu relacji, w których masz countries_users
tabeli przestawnej, a użytkownicy mogą należeć do wielu krajów.
Na przykład możesz wziąć jednego user
i countries
, do którego należy. Ale ty też przechowujesz, jak jest user
związane z tym country
. Musisz zapisać to dodatkowe pole w tabeli przestawnej:countries_users
.
Twoja tabela przestawna, countries_users
będzie wyglądać mniej więcej tak, z przykładowym dodatkowym polem is_he_working_there
:
id
country_id
user_id
is_he_working_there
Gdy tworzysz zapytanie dla krajów użytkownika, Datamapper nie doda tego pola domyślnie. I oto nadchodzi include_join_field()
, więc jeśli to wywołasz, Datamapper doda to pole do wyniku końcowego.
Ale z hasone
, nie przyniesie to żadnego efektu, ponieważ otrzymujesz użytkownika, a także inne pola tabeli. Nie ma tu tabeli przestawnej, więc nie trzeba include_join_fields()