如何在 Kohana 3 中链接多个 ORM 关系?
Posted
技术标签:
【中文标题】如何在 Kohana 3 中链接多个 ORM 关系?【英文标题】:How to chain several ORM relationships in Kohana 3? 【发布时间】:2011-01-23 16:49:14 【问题描述】:我认为我在文档中找不到答案的相当简单的问题 (http://kohanaframework.org/guide/orm/relationships)
如果有意义的话,我需要一次定义与多个 模型(粗体)(每个模型都有对应的表)的关系。
我有几个模型之间的关系略有交织。
连接模型$_belongs_to
用户。这段代码运行良好,很棒。但是连接也需要$_has_one
song(我可以吃芝士汉堡吗??)和$has_one
keyword,如果这有意义的话。
这是因为我想通过连接访问歌曲名称和关键字名称,例如使用$connection->song->name
,然后使用$connection->keyword->name
...
所以,问题是我似乎无法链接上面详述的关系,因为我只能为每个模型声明一个关系....那么我该怎么做呢?或者也许还有另一种我不知道的更简单的方法......
我想我是一个 n00b 并且希望在这方面得到一些帮助。干杯。
【问题讨论】:
【参考方案1】:您可以在数组中收集关系:
class Model_Connection extends ORM
protected $_belongs_to = array(
'user' => array(),
);
protected $_has_one = array(
'song' => array(),
'keyword' => array(),
);
PS。但似乎song
和keyword
都必须在$_belongs_to
属性中(一个song
有多个connections
,一个connection
属于song
)。
【讨论】:
谢谢,虽然为了别人的参考,你必须使用正确的符号,包括后面的空白数组,所以 protected $_belongs_to = array( 'user'=> array(), );以上是关于如何在 Kohana 3 中链接多个 ORM 关系?的主要内容,如果未能解决你的问题,请参考以下文章
Kohana 3 ORM:如何使用 2 个多对多关系执行查询