Mysql
 sql >> Base de données >  >> RDS >> Mysql

Datamapper ORM - Relation avancée Codeigniter

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