FuelPHP ORM - 未找到属性


FuelPHP ORM - Property not found

我正在尝试在FuelPHP中使用ORM构建模型,以前从未使用过ORM,所以不确定某些方面。

我有一个表项目和一个表修订。现在,项目有多个修订版,修订版只有一个项目。

但是,我在"项目"和"修订"之间有一个额外的链接,我始终将最新修订版的 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.

我错过了什么吗?

谢谢!

看起来我不得不将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',
);