FuelPHP ORM - 未找到属性
Posted
技术标签:
【中文标题】FuelPHP ORM - 未找到属性【英文标题】:FuelPHP ORM - Property not found 【发布时间】:2012-06-29 19:07:43 【问题描述】:我正在尝试在 Fuelphp 中使用 ORM 构建模型,之前从未使用过 ORM,因此不确定某些方面。
我有一个表 Project 和一个表 Revision。现在,项目有多个修订版,修订版只有一个项目。
但是,我在 Project 和 Revision 之间有一个额外的链接,我始终在我的 Project 表中保留最新版本的 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.
我错过了什么吗?
谢谢!
【问题讨论】:
正确吗? > - id - latest_revision_id - ... 看来你的表名不对 哎呀!很抱歉造成混乱,这只是我帖子中的一个错字。真正的表名是projects 我有一段时间没用燃料了,等我回家我会看到我的旧项目来解决问题:) 【参考方案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',
);
【讨论】:
以上是关于FuelPHP ORM - 未找到属性的主要内容,如果未能解决你的问题,请参考以下文章