【问题标题】:Datamapper ORM- Codeigniter Advance RelationshipDatamapper ORM-Codeigniter 高级关系
【发布时间】:2015-12-28 06:04:20
【问题描述】:

请帮我理解Datamapper的include_join_fields函数的基本使用。我尝试了很多,但没有得到任何结果。

我有像$object->include_join_fields()这样的应用程序

我有用户表和国家表。

请帮我设置 $hasone=array('country_id');关系

我对这一切一无所知,甚至在阅读了 include_join_fields 的文档后也没有得到确切的意思

任何帮助都将适用

谢谢

【问题讨论】:

标签: mysql codeigniter datamapper


【解决方案1】:

include_join_fields 用于多对多关系,其中您有一个 countries_users 数据透视表,并且用户可能属于多个国家/地区。

例如,您可以选择一个user 和他所属的countries。但你也存储,usercountry 有什么关系。您必须将此额外字段存储在您的数据透视表中: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()

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-01-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多