3

我正在使用带有数据库和 ORM 的 Kohana v3。我发现了一个很好的问题,它可以帮助我在数据透视表中添加和读取额外的列: Kohana 3.0.x ORM: Read additional columns in pivot tables

我有 2 个带有附加列的数据透视表。其中一个工作完美,但我被第二个困在未知中。

有 2 个表、应用程序和合作伙伴,以及我的带有下一个 ORM 模型的数据透视表:

class Model_Application extends ORM
{

    protected $_has_many = array(
        'partners'=>array(
            'model'=>'partner',
            'through'=>'partners_applications',
            )
        );
}

//AND

class Model_Partner extends ORM
{

protected $_has_many = array(
    'applications' => array(
        'model'=>'application',
        'through'=>'partners_applications',
        )
    );

}

//plus my pivot table ORM model

class Model_Partners_applications extends ORM
{

    protected $_belongs_to = array(
            'partner' => array(),
            'application' => array()
        );
}

当我试图得到

$instance = ORM::factory('partners_applications',array('partner_id' => $this->partner,'application_id' =>   $this->application))->find();

小花一直说:

ErrorException [ Fatal Error ]: Class 'Model_Partners_applications' not found

我已经三重检查了模型名称结构,但找不到错误。在 Kohana 环境调试部分,我的两个第一个模型已加载,但未加载数据透视表。

有任何想法吗?

4

2 回答 2

0

Model_Partners_applications 应该在 application/classes/model/partners/applications.php 中

于 2012-04-23T22:07:23.577 回答
0

应该是ORM::factory('partners_application'),在 Kohana ORM 中总是期望单数形式;)

于 2012-04-23T14:52:57.933 回答