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()