Kohana中的ORM关系

Kohana中的ORM关系,orm,kohana-3,kohana-orm,Orm,Kohana 3,Kohana Orm,我有以下表格: users { id, name } events { id, name } user_events { id, date, user_id, event_id } user_summaries { id, user_id, event_id, qty } 表user\u events存储所有用户事件(在不同的时间有许多相同类型的事件)和user\u summaries存储每个用户发生的每种类型事件的数量。前者只获取INSERT查

我有以下表格:

users           { id, name }
events          { id, name }
user_events     { id, date, user_id, event_id }
user_summaries  { id, user_id, event_id, qty }
user\u events
存储所有用户事件(在不同的时间有许多相同类型的事件)和
user\u summaries
存储每个用户发生的每种类型事件的数量。前者只获取
INSERT
查询,后者主要获取
UPDATE
查询

当然,
user\u事件
user\u摘要
都有外键与
用户
事件
表链接。 我想在科哈纳的模型中表示这种关系。我有外键方面的经验,但这是我第一次使用Kohana和ORM,我不确定如何在那里定义我的模型来表示这些关系

我希望能够做到的基本上是:

// I'm able to do this.
$user = ORM::factory('user', 1);
$user_events = $user->events->find_all();
$user_summaries = $user->usersummaries->find_all();

// I'm able to do this, too.
$event = ORM::factory('event', 1);
$event_users = $event->users->get_all();

// I don't know how to be able to do this:
$user_event = ORM::factory('userevent', 1);
$user_details = $user_event->user->find();
$event_details = $user_event->event->find();
我当前的型号如下所示:

# classes/model/user.php
class Model_User extends ORM
{
    protected $_has_many = array(
        'scores'    => array(),
        'usersummaries' => array(),
    );
}

# classes/model/event.php
class Model_Event extends ORM
{
    protected $_has_many = array(
        'scores'        => array(),
        'usersummaries' => array(),
    );
}

# classes/model/userevent.php
class Model_Userevent extends ORM
{
    protected $_belongs_to = array(
        'user'  => array(),
        'event' => array(),
    );
}

# classes/model/usersummary.php
class Model_Usersummary extends ORM
{
    protected $_belongs_to = array(
        'user'  => array(),
        'event' => array(),
    );
}
当前呼叫:

$user_event = ORM::factory('userevent', 1);
$user_details = $user_event->user->find();
始终返回
users
表中的第一个用户,即使
userevent
具有不同的用户id。 我想我需要在
Model\u userevent
中更改一些内容,但我会在一些帮助下使用


注意。我正在使用Kohana 3.0.8。

使用
$user\u event->user
(没有
find()
)。模型看起来不错,但可能是您应该手动为
usersummaries
userevents
关系定义相关模型(Ko3屈折符可能对这些名称不起作用)

使用
$user\u event->user
(不含
find()
)。模型看起来不错,但可能是您应该手动为
usersummaries
userevents
关系定义相关模型(Ko3屈折符可能对这些名称不起作用)

使用
$user\u event->user
(不含
find()
)。模型看起来不错,但可能是您应该为
usersummaries
userevents
关系手动定义相关模型(Ko3屈折符可能对这些名称不起作用)为什么我没有想到这一点!谢谢你,比亚克维隆。把它作为一个答案,这样我就可以接受。使用
$user\u event->user
(不带
find()
)。模型看起来不错,但可能是您应该为
usersummaries
userevents
关系手动定义相关模型(Ko3屈折符可能对这些名称不起作用)为什么我没有想到这一点!谢谢你,比亚克维隆。把它作为一个答案,这样我就可以接受了。