0

我有两个表(team,team_managers),我正在尝试使用 ORM 访问它们。我收到错误“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 一起工作?

4

1 回答 1

0

I think what you are doing is OK, what I don't understand is why you are trying to access $team->team_managers

$team in an array of Model_Team objects, this is your error.

Try the following :

$teams = Model_Team::find('all', array('related' => array('team_managers')));

foreach ($teams as $team) {
    foreach ($team->team_managers as $team_manager) {
        echo $team_manager->id;
    }
}
于 2013-10-30T10:27:24.557 回答