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_A
和 Model_B
通过具有附加列的数据透视表通过“has_many”关联。我可以使用add()
函数的第三个参数将数据保存在数据透视表的该列中,但我不知道如何使用 ORM 读取该列。
有什么想法吗?提前致谢。
【问题讨论】:
【参考方案1】:如果您想访问该附加列,则需要创建一个基于该数据透视表的模型,假设我们将其命名为 Model_A_B
。
class Model_A_B extends ORM
protected $_belongs_to = array(
'A' => array(),
'B' => array()
);
那么,如果$a
是Model_A
的一个实例并且$b
是Model_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 中另一个表中的数据对 mysql 结果进行排序