简体   繁体   中英

Datamapper ORM- Codeigniter Advance Relationship

Please help me to understand the basic use of Datamapper's include_join_fields function. I tried it lots of but not getting any results.

I have application like $object->include_join_fields()

I have User table and Country table.

Please help me to set $hasone=array('country_id'); relation

I haven't any idea about this all, even not getting the exact point after reading documentation of include_join_fields

Any help will appricate

Thanks

include_join_fields are for many to many relationships, where you have a countries_users pivot table, and users could belong to many country.

For example, you could take one user , and the countries , where he belongs to. But you also store, how is a user related to that country . You have to store this extra field in your pivot table: countries_users .

So your pivot table, countries_users will look like something like this, with an example extra field is_he_working_there :

id
country_id
user_id
is_he_working_there

When you make a query for the user's countries, Datamapper won't add that field default. And here comes the include_join_field() , so if you call that, Datamapper will add this field to the end result.

But with hasone , it won't take any effect, because you get the user, and the other table fields also. No pivot table here, so don't need include_join_fields()

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM