私はFuelPHPでORMを使用してモデルを構築しようとしていますが、これまでORMを使用したことがないため、特定の側面についてはよくわかりません。
テーブルProjectとテーブルリビジョンがあります。現在、プロジェクトには複数のリビジョンがあり、リビジョンには1つのプロジェクトしかありません。
ただし、ProjectとRevisionの間に追加のリンクがあり、常に最新のリビジョンのIDをProjectテーブルに保持しています。
私のテーブルは次のようになります。
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.
私は何かが足りないのですか?
ありがとう!