Kohana 3.0.x ORM:读取数据透视表中的其他列

Posted

技术标签:

【中文标题】Kohana 3.0.x ORM:读取数据透视表中的其他列【英文标题】:Kohana 3.0.x ORM: Read additional columns in pivot tables 【发布时间】:2010-12-29 02:47:09 【问题描述】:

我正在使用 Kohana v3 和 ORM,我有两个模型,Model_AModel_B 通过具有附加列的数据透视表通过“has_many”关联。我可以使用add() 函数的第三个参数将数据保存在数据透视表的该列中,但我不知道如何使用 ORM 读取该列。

有什么想法吗?提前致谢。

【问题讨论】:

【参考方案1】:

如果您想访问该附加列,则需要创建一个基于该数据透视表的模型,假设我们将其命名为 Model_A_B

class Model_A_B extends ORM 

    protected $_belongs_to = array(
        'A' => array(),
        'B' => array()
    );


那么,如果$aModel_A 的一个实例并且$bModel_B 的一个实例,我们通过调用得到Model_A_B 实例:

$ab = ORM::factory('A_B', array('A_id' => $a, 'B_id' => $b));

if ($ab->loaded()) 
    // do stuff

【讨论】:

您正在展示从枢轴中检索值,但您能否展示一种在枢轴中初始设置值的方法? 你会在哪里存储该模型? ...模型/a/b.php ? @Brenden:是的,models/a/b.php

以上是关于Kohana 3.0.x ORM:读取数据透视表中的其他列的主要内容,如果未能解决你的问题,请参考以下文章

Kohana ORM - 我该怎么做?

Kohana 3 ORM 关系问题

最喜欢的 Kohana 提示和功能? [关闭]

根据 Kohana 中另一个表中的数据对 mysql 结果进行排序

Kohana 3.2 中使用 ORM 模型(结果)的字段的自定义过滤器

如何在 Kohana 3 ORM 关系中指定两个键