请帮助我了解Datamapper的include_join_fields函数的基本用法。我尝试了很多次,但没有得到任何结果。
我有类似 $object->include_join_fields() 的应用程序
我有用户表和国家/地区表。
请帮我设置 $hasone=array('country_id');关系
我对此一无所知,甚至在阅读 include_join_fields 的文档后没有得到确切的要点
任何帮助都会适用
谢谢
最佳答案
include_join_fields
用于多对多关系,其中您有一个 countries_users
数据透视表,并且用户可能属于多个国家/地区。
例如,您可以选择一个用户
,以及他所属的国家
。但您还可以存储用户
与该国家/地区
的关系。您必须将此额外字段存储在数据透视表中: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()
关于mysql - Datamapper ORM-Codeigniter 高级关系,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32866324/