2012-06-29 76 views
0

我想在FuelPHP中使用ORM構建模型,之前從未使用過ORM,所以不確定某些方面。FuelPHP ORM - Property not found

我有一個表項目和表修訂。現在,項目有多個修訂,修訂只有一個項目。

但是,我有項目和版本之間的其他鏈接,我總是保留在我的項目表中的最新版本的ID。

我的表是這樣的:

projects 
- id 
- latest_revision_id 
- ... 

revisions 
- id 
- project_id 
- ... 

項目模型:

class Model_Project extends Orm\Model 
{ 

    protected static $_belongs_to = array(
     'latest_revision' => array(
      'key_from' => 'latest_revision_id' 
     ), 
    ); 

    protected static $_has_many = array(
    'revisions', 
    ); 

... 

} 

修訂模型:

class Model_Revision extends \Orm\Model 
{ 

    protected static $_belongs_to = array(
     'project', 
    ); 

    protected static $_has_one = array(
     'project' => array(
      'key_to' => 'latest_revision_id', 
     ), 
    ); 

} 

然而,當我嘗試訪問:

$project->latest_revision 

它給我一個OutOfBoundException:OutOfBoundsException [ Error ]: Property "latest_revision_id" not found for Model_Project.

我錯過了什麼嗎?

謝謝!

+0

是正確的嗎? << products >> - ID - latest_revision_id - ... 看來,你的表名是不正確 –

+0

Oups!對不起,我的文章只是一個錯字。真正的表名是項目 – jValdron

+0

我沒有使用燃料一段時間,當我回家時我會看到我的舊項目的解決方案:) –

回答

1

看起來我必須將latest_revision_id添加到我的$ _properties數組中。在發佈這個問題之前,我發誓我嘗試過,但是當時我還有其他問題!

所以我的項目現在型號:

protected static $_belongs_to = array(
    'latest_revision' => array(
     'key_from' => 'latest_revision_id', 
     'model_to' => 'Model_Revision', 
    ), 
); 

protected static $_has_many = array(
    'revisions', 
); 

protected static $_properties = array(
    'id', 
    ..., 
    'latest_revision_id', 
);