include_join_fields countries_usersがある多対多の関係のためのものです ピボットテーブル、およびユーザーは多くの国に属する可能性があります。
たとえば、1人のuserを取ることができます 、およびcountries 、彼が所属する場所。しかし、あなたも保存します、userはどうですか そのcountriesに関連する 。この追加フィールドを保存する必要があります ピボットテーブル: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()は必要ありません