3

データベースとORMでKohana v3を使用しています。ピボット テーブルに追加の列を追加して読み取るのに役立つ素敵な質問を見つけました: Kohana 3.0.x ORM: ピボット テーブルの追加の列を読み取る

追加の列を持つ2つのピボットテーブルを取得しました。それらの 1 つは完全に機能しますが、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

モデル名の構造を 3 回確認しましたが、エラーが見つかりません。Kohana 環境のデバッグ部分では、2 つの最初のモデルが読み込まれますが、ピボット テーブルは読み込まれません。

何か案は?

4

2 に答える 2

0

である必要がありますORM::factory('partners_application')。Kohana ORM では常に単数形が必要です ;)

于 2012-04-23T14:52:57.933 に答える
0

Model_Partners_applications は application/classes/model/partners/applications.php 内にある必要があります

于 2012-04-23T22:07:23.577 に答える