我在数据库中有以下表格:
我在ORM v2.3.4应用程序中定义了以下Kohana模型:
class Match_Model extends ORM {
protected $belongs_to = array('team1_id' => 'team', 'team2_id' => 'team');
}
class Team_Model extends ORM {
protected $has_many = array('matches');
}
控制器中的以下代码:
$match = ORM::factory('match',1);
echo $match->team1_id->name; /* <-- */
在标有/* <--- */
的链接上抛出以下错误:
尝试获取非对象的属性
框架正在产生外键的值而不是对Match_Model实例的引用(应该给出has_many和belongs_to属性)。
我错过了什么吗?
注意:以防万一,我在application / config / inflector.php中添加了不规则复数'match' => 'matches'
答案 0 :(得分:0)
已解决! Kohana社区给了我answer:
$ belongs_to属性的正确值是:
class Match_Model extends ORM {
protected $belongs_to = array('team1' => 'team', 'team2' => 'team');
}
class Blog_Post_Model extends ORM { protected $belongs_to = array('author' => 'user', 'editor' => 'user'); }
blog_posts数据库表会 现在有2列, blog_posts.author_id和 blog_posts.editor_id,两者都会 拥有users.id中存在的值。
似乎我错过了这一行,:))