include_join_fields
sont pour plusieurs relations, où vous avez un countries_users
tableau croisé dynamique, et les utilisateurs peuvent appartenir à plusieurs pays.
Par exemple, vous pouvez prendre un user
, et les countries
, où il appartient. Mais vous stockez aussi, comment est un user
lié à ce countries
. Vous devez stocker ce champ supplémentaire dans votre tableau croisé dynamique :countries_users
.
Donc, votre tableau croisé dynamique, countries_users
ressemblera à quelque chose comme ça, avec un exemple de champ supplémentaire is_he_working_there
:
id
country_id
user_id
is_he_working_there
Lorsque vous effectuez une requête pour les pays de l'utilisateur, Datamapper n'ajoute pas ce champ par défaut. Et voici le include_join_field()
, donc si vous appelez cela, Datamapper ajoutera ce champ au résultat final.
Mais avec hasone
, cela n'aura aucun effet, car vous obtenez l'utilisateur, ainsi que les autres champs de la table. Pas de tableau croisé dynamique ici, donc pas besoin d'include_join_fields()