Kohana 3 ORM:多个连接

时间:2012-02-03 08:53:20

标签: orm kohana

我有Kohana ORM / Mysql查询问题。我希望你能提供帮助。

首先,这是表格图表:

Diagram

这是我的ORM定义:

会员通过MEMBERS_TOPICS有很多TOPICS 文章虽然有ARTICLES_TOPICS,但有许多主题 TOPICS通过MEMBERS_TOPICS拥有许多成员 通过ARTICLES_TOPICS

,TOPICS有很多篇章

将其视为邮件列表,其中您的成员选择了主题也分配给特定主题的文章主题。

我无法弄清楚如何制作单个查询,以便我可以返回已加入的结果,并向个别成员发送电子邮件,其中包含他们仅通过他们选择的主题选择的文章。

我希望能够获得mysql / kohana忍者的智慧。 :d

2 个答案:

答案 0 :(得分:1)

如果您在模型中正确设置了关系,ORM中的with()方法将加入您的表格。下面是一个小例子:

型号:

public function find_all_orders()
{
   return $this->with('customer')->with('product')->find_all();
}

查看:

foreach ($orders as $order)
{
   echo $order->product->name . ' ' . $order->customer->name;
}

关系是:

  • 订单属于产品,产品有多个订单
  • 订单属于客户,客户有很多订单

答案 1 :(得分:0)

ORM确实有一个join()方法:http://kohanaframework.org/3.2/guide/api/ORM#join

可能有一种更优雅的KO3方式来做你想做的事,但我并不完全熟悉KO3 ORM,也许其他人可以提出更好的方法。

[编辑] 进一步阅读: