【发布时间】:2013-10-25 12:48:29
【问题描述】:
我尝试使用 ORM 访问两个表(team、team_managers)。我收到错误“Fuel\Core\PhpErrorException [注意]:尝试获取非对象的属性”。
这是引发错误的代码:
<?php
$team = Model_Team::find('all', array('related' => array('team_managers')));
$team_managers = $team->team_managers;
foreach($team_managers as $tm){
echo $tm->id;
}
这样做是可行的,但我认为它违背了 ORM 的目的:
<?php
$team = Model_Team::find('all', array('related' => array('team_managers')));
$team_managers = Model_Team_Manager::find('all');
foreach($team_managers as $tm){
echo $tm->id;
}
在团队模型中,我有这样的关系:
protected static $_has_many = array('team_managers' => array(
'model_to' => 'Model_Team_Manager',
'key_from' => 'id',
'key_to' => 'team_id',
));
我怎样才能让它与 $team->team_managers 一起工作?
【问题讨论】:
-
如果我调用一个特定的团队而不是“全部”,它实际上确实有效。有谁知道为什么我不能用“全部”来称呼它?在fuelphp文档中,他们使用“all”并且它可以工作。 =[fuelphp.com/docs/packages/orm/relations/intro.html