include_join_fields zijn voor veel tot veel relaties, waarbij je een countries_users . hebt draaitabel en gebruikers kunnen tot veel landen behoren.
U kunt bijvoorbeeld één user . nemen , en de countries , waar hij bij hoort. Maar je slaat ook op, hoe is een user gerelateerd aan dat country . U moet dit extra veld opslaan in uw draaitabel:countries_users .
Dus uw draaitabel, countries_users ziet er ongeveer zo uit, met als voorbeeld een extra veld is_he_working_there :
id
country_id
user_id
is_he_working_there
Wanneer u een query maakt voor de landen van de gebruiker, zal Datamapper dat veld niet standaard toevoegen. En hier komt de include_join_field() , dus als je dat aanroept, zal Datamapper dit veld aan het eindresultaat toevoegen.
Maar met hasone , heeft het geen effect, omdat je de gebruiker krijgt, en ook de andere tabelvelden. Geen draaitabel hier, dus hoef je include_join_fields() niet