2012-04-23 6 views
3

データベースとORMでKohana v3を使用しています。 ピボットテーブルに追加の列を追加して読み込むのに役立つ素敵な質問がありました。 Kohana 3.0.x ORM: Read additional columns in pivot tables追加の列がロードされていないKohanaピボットテーブル

追加の列を持つピボットテーブルが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(); 

のKohanaを取得しようとすると言い続ける:

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

モデル名の構成を三重にチェックしましたが、エラーが見つかりません。 Kohana環境のデバッグパートでは、私の2つのファーストモデルがロードされていますが、ピボットテーブルはロードされていません。

アイデア? KohanaのORMは常に単数形を見込んで

答えて

0

は、ORM::factory('partners_application')すべきである。

+0

私はplurialフォームがで多くの関係に多くのために合うと思いますコナナとにかく、パートナーやアプリケーションのためのSingularフォームが私に同じエラーを送ります。 – Pioup

0

Model_Partners_applicationsは、アプリケーション/クラス/モデル/パートナー内にある必要があります)/ applications.php

+0

したがって、application/classes/model/partners/applications.phpには以下が含まれています: 'class Model_Partners_applications extends ORM { protected $ _table_name = 'partners_applications'; protected $ _belongs_to = array( 'partner' => array()、 'application' => array() ); } ' それは私のために働いていない、まだ同じエラーと新しいクラスは読み込まれていません... – Pioup

関連する問題